适用系统:本教程适用于 64 位 Debian 12(bookworm)和 Debian 11(bullseye)系统,其他发行版请参考官方文档。

1. 更新系统并安装依赖包

首先要更新系统包列表并安装必要的依赖包,确保系统处于最新状态

更新软件包列表:

sudo apt update

安装必要的依赖工具:

sudo apt install -y ca-certificates curl gnupg lsb-release

提示lsb-release 包用于获取系统版本信息,在后续步骤中会用到。

2. 添加 Docker 官方 GPG 密钥

为确保下载包的安全性,需要添加 Docker 的官方 GPG 密钥

创建密钥存储目录:

sudo install -m 0755 -d /etc/apt/keyrings

下载并安装 Docker GPG 密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

设置密钥文件权限:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

安全说明:GPG 密钥用于验证 Docker 包的完整性和来源,确保安装的软件未被篡改。

3. 添加 Docker 仓库

配置 Docker 的 APT 仓库,以便通过包管理器安装和更新

添加 Docker 官方仓库:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

说明:此命令会自动检测系统架构和版本代号,确保添加正确的仓库地址。

4. 安装 Docker Engine

更新包索引并安装 Docker 及其相关组件

更新软件包索引(包含新添加的 Docker 仓库):

sudo apt update

安装 Docker Engine 及相关组件:

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. 验证安装

安装完成后,通过运行测试容器验证 Docker 是否正常工作

运行 hello-world 测试容器:

sudo docker run hello-world

如果看到 "Hello from Docker!" 消息,说明安装成功!

至此,Docker Engine 已成功安装并运行,以下步骤为可选配置,根据实际需求选择执行。

6. 配置非 root 用户使用 Docker

为避免每次使用 Docker 命令都需要 sudo,可以将当前用户添加到 docker 用户组

将当前用户添加到 docker 用户组:

sudo usermod -aG docker $USER

重要:需要重新登录或执行以下命令使组权限生效

刷新用户组权限:

newgrp docker

验证用户组配置是否成功:

groups

再次验证 Docker 命令无需 sudo:

docker run hello-world

7. 卸载 Docker

停止 Docker 相关服务:

sudo systemctl stop docker docker.socket containerd

卸载所有 Docker 相关软件包:

sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

删除 Docker 数据目录:

sudo rm -rf /var/lib/docker

删除 containerd 数据目录:

sudo rm -rf /var/lib/containerd

删除 Docker 配置目录:

sudo rm -rf /etc/docker

删除 Docker 仓库配置文件:

sudo rm /etc/apt/sources.list.d/docker.list

删除 Docker GPG 密钥:

sudo rm /etc/apt/keyrings/docker.gpg

清理未使用的依赖包:

sudo apt autoremove -y

清理下载的软件包缓存:

sudo apt clean

温馨提示:卸载操作会永久删除所有容器、镜像、卷和网络配置。