在本文中,我们将详细介绍如何在 Debian 12 和 Ubuntu 24.04 系统上安装 Docker 和 Docker Compose。这个指南同样适用于 Debian 11、Ubuntu 20.04 和 Ubuntu 22.04 版本。
Docker 简介
Docker 是一种革命性的容器化技术,它彻底改变了软件的部署和运行方式。通过 Docker,开发者可以在隔离的环境中快速搭建和运行应用,无需担心环境配置问题。Docker 的核心优势包括:
- 环境一致性:确保开发、测试和生产环境的一致性
- 快速部署:大大减少了从开发到部署的时间
- 资源效率:比传统虚拟机更加轻量和高效
- 版本控制:便于管理应用的不同版本
- 模块化:支持微服务架构,便于应用的拆分和组合
Docker Compose 简介
Docker Compose 是 Docker 生态系统中的一个重要工具,它极大地简化了多容器应用的管理和部署过程。使用 Docker Compose 的主要优势包括:
- 简化配置:使用 YAML 文件定义整个应用栈
- 一键部署:通过单个命令启动或关闭整个应用
- 环境一致性:确保开发、测试和生产环境的配置一致
- 服务间依赖管理:自动处理服务启动的顺序
- 扩展性:轻松调整服务的容器数量
安装步骤
1. 准备工作
首先,确保以 root 用户身份登录。如果不是,可以使用以下命令切换:
sudo -i
# 或
su root
更新系统并安装必要的依赖:
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
2. 添加 Docker 官方源
根据系统选择相应的命令:
Debian 系统
curl -sSL <https://download.docker.com/linux/debian/gpg> | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] <https://download.docker.com/linux/debian> $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
Ubuntu 系统
curl -sSL <https://download.docker.com/linux/ubuntu/gpg> | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] <https://download.docker.com/linux/ubuntu> $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
对于国内用户,推荐使用清华大学的镜像源以提高下载速度:
Debian 系统(清华源)
curl -sS <https://download.docker.com/linux/debian/gpg> | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] <https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian> $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
Ubuntu 系统(清华源)
然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
3. 安装 Docker
现在我们可以安装 Docker 和相关组件了:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装完成后,启动 Docker 服务并设置为开机自启:
systemctl start docker
systemctl enable docker
4. 验证安装
使用以下命令检查 Docker 是否安装成功:
docker version
如果安装成功,你将看到类似以下的输出:
此时可以使用 docker version
命令检查是否安装成功:
Client: Docker Engine - Community
Version: 27.3.1
API version: 1.47
Go version: go1.22.7
Git commit: ce12230
Built: Fri Sep 20 11:41:19 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 27.3.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.7
Git commit: 41ca978
Built: Fri Sep 20 11:41:19 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.22
GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
runc:
Version: 1.1.14
GitCommit: v1.1.14-0-g2c9f560
docker-init:
Version: 0.19.0
GitCommit: de40ad0
安装 Docker Compose
curl -L <https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64> > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
此时可以使用 docker-compose version
命令检查是否安装成功:
root@debian ~ # docker-compose version
Docker Compose version v2.21.0
修改 Docker 配置
Docker 的配置文件位于 /etc/docker/daemon.json。可以通过
vim /etc/docker/daemon.json
来修改这个文件来自定义 Docker 的行为。以下是一些常用的配置选项:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental": true,
"ip6tables": true,
"registry-mirrors": [
"<https://docker.mirrors.ustc.edu.cn>",
"<https://hub-mirror.c.163.com>"
]
}
配置说明:
- 限制每个容器的日志文件最大为 20MB,最多保留 3 个文件
- 启用 IPv6 支持,并设置自定义的 IPv6 地址段
- 开启实验性功能
- 使用中国科技大学和网易的 Docker 镜像源 (国内用户可选)
5. 应用配置
修改配置文件后,需要重启 Docker 服务使配置生效:
systemctl restart docker
重启后,可以使用 docker info
命令验证配置是否生效。