在 Debian 13 (Trixie) 上安装 Docker 和 Docker Compose 的教程
Docker 作为当今最流行的容器化技术,已成为现代软件开发和部署的重要工具。Debian 13 (Trixie) 系统上正确安装和配置 Docker,对于构建高效的开发环境至关重要。本教程基于 Docker 官方文档,提供最新的安装步骤,并特别针对国内网络环境进行了优化,确保安装过程顺畅无阻。
教程概述
本教程将带你完成在 Debian 13 (Trixie) 上安装 Docker 和 Docker Compose 的完整过程。内容包括:
- 环境准备:系统要求检查和前置条件
- 官方安装:使用 Docker 官方源进行标准安装
- 国内优化:配置阿里云等国内镜像源加速下载
- 验证测试:确保安装成功并正常工作
- 进阶配置:非 root 用户配置和镜像加速器设置
- 问题解决:常见安装问题的解决方案
无论你是 Docker 新手还是有经验的开发者,本教程都将为你提供可靠的安装指导。
前提条件
- 系统:Debian 13 (Trixie),64 位版本
- 权限:需要 root 或 sudo 权限
- 网络:稳定的互联网连接,建议配置国内镜像源以加速下载
- 最低内核版本:3.10(Debian 13 默认满足)
步骤 1:卸载旧版本 Docker
为避免冲突,先卸载可能存在的旧版本 Docker 或相关组件:
1 | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done |
命令解释:
- 循环删除指定的软件包,包括
docker.io
、docker-doc
、docker-compose
、podman-docker
、containerd
和runc
。 sudo apt-get autoremove
:自动清理不再需要的依赖包,释放磁盘空间
注意:即使系统中没有安装这些包,执行此命令也不会产生错误,确保环境干净。注意,/var/lib/docker/
中的镜像、容器、卷和网络不会自动移除,如需清理,请手动处理。
步骤 2:安装必要的依赖
更新系统并安装必要软件包以支持 HTTPS 和 GPG 密钥:
1 | sudo apt update |
命令解释:
sudo apt update
:更新软件包列表sudo apt upgrade -y
:升级系统中已安装的所有软件包sudo apt install -y
:安装以下必需的软件包:ca-certificates
:包含受信任的证书颁发机构证书curl
:命令行下载工具
提示:这些软件包确保系统能够安全下载和验证 Docker 官方软件包。
步骤 3:添加 Docker 官方 GPG 密钥
导入 Docker 官方 GPG 密钥以验证软件包:
1 | sudo install -m 0755 -d /etc/apt/keyrings |
命令解释:
sudo install -m 0755 -d /etc/apt/keyrings
:创建密钥目录sudo curl -fsSL
:下载密钥https://download.docker.com/linux/debian/gpg
:Docker 官方 GPG 密钥地址-o /etc/apt/keyrings/docker.asc
:保存为 ASCII 格式sudo chmod a+r
:设置文件权限,允许所有用户读取密钥文件
国内用户优化:如果访问官方源较慢,可使用阿里云镜像源:
1 | sudo install -m 0755 -d /etc/apt/keyrings |
安全说明:GPG 密钥用于验证软件包的真实性,防止恶意软件包。
步骤 4:添加 Docker 软件源
将 Docker 官方软件源添加到系统(自动检测系统代号,如 trixie):
1 | echo \ |
命令解释:
echo
:输出软件源配置deb [arch=$(dpkg --print-architecture)]
:自动检测系统架构signed-by=/etc/apt/keyrings/docker.asc
:指定 GPG 密钥https://download.docker.com/linux/debian
:Docker 官方软件源$(. /etc/os-release && echo "$VERSION_CODENAME")
:自动获取系统代号(Debian 13 为 trixie)stable
:使用稳定版分支sudo tee
:将内容写入 Docker 源列表文件sudo apt-get update
:更新软件包索引
国内用户优化:使用阿里云镜像源:
1 | echo \ |
路径说明:/etc/apt/sources.list.d/
目录用于存放额外的软件源配置文件。
步骤 5:安装 Docker Engine 和相关组件
安装 Docker Engine、CLI、containerd 以及 Docker Compose 插件:
1 | sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
命令解释:
sudo apt install -y
:安装以下组件:docker-ce
:Docker Community Edition 引擎docker-ce-cli
:Docker 命令行客户端containerd.io
:容器运行时docker-buildx-plugin
:扩展构建功能的插件docker-compose-plugin
:Docker Compose V2 插件
版本说明:安装最新稳定版本。如果你想安装特定版本,先列出可用版本:
1 | apt-cache madison docker-ce | awk '{ print $3 }' |
然后安装,例如:
1 | VERSION_STRING=5:28.4.0-1~debian.13~trixie |
步骤 6:验证 Docker 安装
启动 Docker 服务并设置开机自启:
1 | sudo systemctl start docker |
命令解释:
sudo systemctl start docker
:立即启动 Docker 服务sudo systemctl enable docker
:设置开机自启
检查 Docker 是否安装成功:
1 | sudo docker --version |
命令解释:
sudo docker --version
:显示 Docker 版本sudo docker run hello-world
:运行官方测试容器,验证功能
预期输出:
- Docker 版本信息(如
Docker version 28.4.0
) hello-world
容器的欢迎信息
服务状态检查:
1 | sudo systemctl status docker |
步骤 7:验证 Docker Compose 安装
Docker Compose V2 已集成到 Docker CLI 中,步骤 5 已安装。
验证 Docker Compose:
1 | docker compose version |
命令解释:
docker compose version
:显示 Docker Compose 插件版本- 使用空格分隔的
docker compose
,而非旧版docker-compose
预期输出:
- 如
Docker Compose version v2.31.0
版本说明:
- V2 性能更优,与 Docker CLI 深度集成,兼容现有
docker-compose.yml
文件。
步骤 8:配置镜像加速(国内用户推荐)
配置镜像加速器(如阿里云)以提升 Docker Hub 下载速度:
编辑 Docker 配置文件:
1 | sudo mkdir -p /etc/docker |
添加以下内容(替换为阿里云专属加速器地址):
1 | { |
配置说明:
registry-mirrors
:指定镜像加速器列表- 阿里云加速器:需登录阿里云容器镜像服务获取专属地址
- 百度云镜像和 DaoCloud 镜像:公共加速器
重启 Docker 服务:
1 | sudo systemctl daemon-reload |
验证加速器配置:
1 | docker info | grep -A 5 "Registry Mirrors" |
步骤 9:配置非 root 用户运行 Docker(可选)
允许非 root 用户运行 Docker 命令:
1 | sudo usermod -aG docker $USER |
命令解释:
sudo usermod -aG docker $USER
:将当前用户添加到 docker 组newgrp docker
:立即生效新的组权限
生效方式:
- 执行
newgrp docker
- 重新登录或重启终端
验证配置:
1 | groups $USER |
安全提示:docker 组用户具有 root 等效权限,仅在受信任环境中使用。
常见问题处理
网络超时问题:
现象:
apt update
或curl
命令超时解决方案:检查网络或切换至国内镜像源
验证网络:
1
2ping -c 4 8.8.8.8
curl -I https://download.docker.com
Docker 服务未启动:
1
2sudo systemctl status docker
sudo systemctl start docker权限问题:
现象:普通用户运行 docker 命令提示 “permission denied”
解决方案:按步骤 9 配置非 root 用户
验证权限:
1
2id $USER
ls -la /var/run/docker.sock
镜像拉取失败:
解决方案:配置镜像加速器(步骤 8)
验证:
1
2docker info | grep -A 5 "Registry Mirrors"
docker pull hello-world
参考来源
- Docker 官方文档:Install Docker Engine on Debian
- Docker Compose 官方安装指南
- 阿里云 Docker 安装指南