Docker安装

在 Debian 12 虚拟机上安装 Docker,推荐使用 Docker 官方提供的 apt 仓库进行安装,这样不仅能获取最新稳定版本,还能方便后续升级。

首先更新软件包索引并安装必要的依赖包,以确保 apt 能够安全地通过 HTTPS 访问外部仓库:

sudo apt update
sudo apt install -y ca-certificates curl gnupg

接着,创建用于存储 GPG 密钥的目录:

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

2. 添加 Docker 官方 GPG 密钥

下载 Docker 官方的 GPG 密钥并设置正确的读取权限,用于验证软件包的完整性:

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

3. 配置 Docker 软件源

将 Docker 的官方仓库添加到系统的 APT 源列表中。该命令会自动识别你的 Debian 版本代号(Debian 12 为 bookworm)和系统架构:

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 update

4. 安装 Docker Engine

执行以下命令安装 Docker 核心组件、Docker Compose 插件以及 Buildx 插件:

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

5. 启动服务与验证

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

sudo systemctl start docker
sudo systemctl enable docker

运行官方测试镜像来验证 Docker 是否安装并运行成功:

sudo docker run hello-world

如果终端输出了包含 “Hello from Docker!” 的欢迎信息,说明安装已成功。

? 进阶配置(可选)

默认情况下,运行 Docker 命令需要加上 sudo。如果你希望当前普通用户也能免 sudo 运行 Docker,可以将用户加入 docker 组:

sudo usermod -aG docker $USER

注意:执行此命令后,需要重新登录或重启虚拟机才能使权限生效。

Debian 12 (Bookworm) Docker 配置国内镜像加速器

原理:修改 /etc/docker/daemon.json,配置 registry-mirrors,所有操作需要 root/sudo

1、创建/修改配置文件

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://docker.xuanyuan.me",
    "https://dockerproxy.com"
  ]
}
EOF

⚠️ 重要提醒:

  • json 不能加注释,格式错误会导致 docker 启动失败
  • 如果你有阿里云账号,登录阿里云容器镜像服务,获取个人专属加速器地址,稳定性最优:https://xxxx.mirror.aliyuncs.com
# 以上配置可能不行,改用以下配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://dockerpull.org"
  ]
}
EOF

常用可用公共加速源(2026实测)

  • 网易:https://hub-mirror.c.163.com
  • 百度智能云:https://mirror.baidubce.com
  • 轩辕镜像:https://docker.xuanyuan.me
  • DockerProxy:https://dockerproxy.com

❗ 注意:早期广为流传的中科大公共docker镜像 docker.mirrors.ustc.edu.cn 现已限制外部访问,普通公网服务器大概率无法使用,不建议放首位。

2、重载配置 + 重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

3、验证是否生效

docker info

往下翻找到 Registry Mirrors,能看到你配置的地址即成功。

4、一键测试拉取

docker pull hello-world

常见问题排错

  1. docker启动失败 检查 json 语法,不要有多余逗号、//注释; 校验命令:

    jq . /etc/docker/daemon.json
    

    无报错说明格式正常。