Debian 11 安装 Docker 与 Docker-Compose

前言

准备工作

卸载已有软件

卸载已安装的 Docker,避免对后续的安装步骤产生影响。

1
2
3
4
5
6
7
8
9
10
11
12
# 卸载旧版本,包括有关的配置文件
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 保证卸载干净
sudo apt-get remove docker docker-engine docker.io containerd runc

# 删除文件
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/docker
sudo rm -rf /usr/libexec/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/apt/keyrings

安装依赖软件

1
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

安装 Docker

添加存储库

1
2
3
4
5
6
7
8
# 添加 Docker 的官方 GPG 密钥
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 的 APT 存储库
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新 APT 索引
sudo apt update

Docker 安装

1
2
# 安装最新版本的 Docker
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin

提示

Docker Buildx 是 Docker 官方推出的一款增强型构建工具,旨在简化和优化多架构容器映像的构建流程。它整合了 QEMU 模拟器和多平台构建能力,使得开发者可以在单一的构建过程中同时为多个平台(如 x86、ARM 等)构建容器映像,极大地提高了构建效率和开发体验。

Docker 启动

1
2
3
4
5
6
7
8
# 开机自启动 Docker
sudo systemctl enable docker

# 启动 Docker
sudo systemctl start docker

# 查看 Docker 的运行状态
sudo systemctl status docker

普通用户使用 Docker 命令

如果希望让非 root 用户也能使用 Docker 命令,可以将该用户添加到 docker 用户组,比如 sudo usermod -aG docker your-user-name

Docker 配置源

由于 Docker Hub 存在不可抗拒因素,导致在国内无法访问,因此需要配置 Docker 使用国内镜像源。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 创建配置目录
sudo mkdir -p /etc/docker

# 创建配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://docker.m.daocloud.io",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}
EOF

# 使配置文件生效
sudo systemctl daemon-reload

# 重启 Docker
sudo systemctl restart docker

# 查看 Docker 的运行状态
sudo systemctl status docker

# 查看 Docker 的运行信息
sudo docker info

Docker 验证安裝

验证是否正确安装了 Docker,以下命令将下载一个测试镜像并在容器中运行它,容器在运行时将输出一条参考消息并退出

1
sudo docker run hello-world

安装 Docker-Compose

提示

推荐使用第二种方式(基于 curl 命令)进行安装,因为可以指定具体安装哪个版本的 Docker-Compose,而且后期升级维护也更方便。

第一种安装方式

1
2
3
4
5
# 安装 Docker-Compose 插件
sudo apt install -y docker-compose-plugin

# 验证 Docker-Compose 插件
sudo docker compose -v

第二种安装方式

这里除了可以使用 curl 命令来下载 Docker-Compose 的二进制包,还可以在 GitHub Releases 上面手动下载对应的文件,然后上传到目标服务器。

1
2
3
4
5
6
7
8
# 下载文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 文件授权
sudo chmod +x /usr/local/bin/docker-compose

# 验证下载
sudo docker-compose -v

参考