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
2
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get autoremove

命令解释

  • 循环删除指定的软件包,包括 docker.iodocker-docdocker-composepodman-dockercontainerdrunc
  • sudo apt-get autoremove:自动清理不再需要的依赖包,释放磁盘空间

注意:即使系统中没有安装这些包,执行此命令也不会产生错误,确保环境干净。注意,/var/lib/docker/ 中的镜像、容器、卷和网络不会自动移除,如需清理,请手动处理。

步骤 2:安装必要的依赖

更新系统并安装必要软件包以支持 HTTPS 和 GPG 密钥:

1
2
3
sudo apt update
sudo apt upgrade -y
sudo apt install -y ca-certificates curl

命令解释

  • sudo apt update:更新软件包列表
  • sudo apt upgrade -y:升级系统中已安装的所有软件包
  • sudo apt install -y:安装以下必需的软件包:
    • ca-certificates:包含受信任的证书颁发机构证书
    • curl:命令行下载工具

提示:这些软件包确保系统能够安全下载和验证 Docker 官方软件包。

步骤 3:添加 Docker 官方 GPG 密钥

导入 Docker 官方 GPG 密钥以验证软件包:

1
2
3
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

命令解释

  • 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
2
3
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

安全说明:GPG 密钥用于验证软件包的真实性,防止恶意软件包。

步骤 4:添加 Docker 软件源

将 Docker 官方软件源添加到系统(自动检测系统代号,如 trixie):

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

命令解释

  • 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
2
3
4
5
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

路径说明/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
2
VERSION_STRING=5:28.4.0-1~debian.13~trixie
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

步骤 6:验证 Docker 安装

启动 Docker 服务并设置开机自启:

1
2
sudo systemctl start docker
sudo systemctl enable docker

命令解释

  • sudo systemctl start docker:立即启动 Docker 服务
  • sudo systemctl enable docker:设置开机自启

检查 Docker 是否安装成功:

1
2
sudo docker --version
sudo docker run hello-world

命令解释

  • 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
2
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

添加以下内容(替换为阿里云专属加速器地址):

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://<你的阿里云加速器地址>.mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
]
}

配置说明

  • registry-mirrors:指定镜像加速器列表
  • 阿里云加速器:需登录阿里云容器镜像服务获取专属地址
  • 百度云镜像和 DaoCloud 镜像:公共加速器

重启 Docker 服务:

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

验证加速器配置:

1
docker info | grep -A 5 "Registry Mirrors"

步骤 9:配置非 root 用户运行 Docker(可选)

允许非 root 用户运行 Docker 命令:

1
2
sudo usermod -aG docker $USER
newgrp docker

命令解释

  • sudo usermod -aG docker $USER:将当前用户添加到 docker 组
  • newgrp docker:立即生效新的组权限

生效方式

  • 执行 newgrp docker
  • 重新登录或重启终端

验证配置:

1
2
3
groups $USER
docker --version
docker run hello-world

安全提示:docker 组用户具有 root 等效权限,仅在受信任环境中使用。

常见问题处理

  1. 网络超时问题

    • 现象apt updatecurl 命令超时

    • 解决方案:检查网络或切换至国内镜像源

    • 验证网络

      1
      2
      ping -c 4 8.8.8.8
      curl -I https://download.docker.com
  2. Docker 服务未启动

    1
    2
    sudo systemctl status docker
    sudo systemctl start docker
  3. 权限问题

    • 现象:普通用户运行 docker 命令提示 “permission denied”

    • 解决方案:按步骤 9 配置非 root 用户

    • 验证权限

      1
      2
      id $USER
      ls -la /var/run/docker.sock
  4. 镜像拉取失败

    • 解决方案:配置镜像加速器(步骤 8)

    • 验证

      1
      2
      docker info | grep -A 5 "Registry Mirrors"
      docker pull hello-world

参考来源

  • Docker 官方文档:Install Docker Engine on Debian
  • Docker Compose 官方安装指南
  • 阿里云 Docker 安装指南