Ubuntu服务器如何快速安装Docker并配置国内镜像提速?

下面给出在 Ubuntu 服务器上“快速安装 Docker + 配置国内镜像提速”的完整步骤(以 Ubuntu 22.04/24.04 为例,其他版本类似)。


一、更新系统并安装基础依赖

sudo apt update && sudo apt upgrade -y

# 安装常用工具
sudo apt install -y ca-certificates curl gnupg lsb-release

二、添加 Docker 官方 GPG 密钥和仓库

1. 创建目录并导入 GPG 密钥

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

2. 设置稳定版源(按架构自动选择)

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

如果 lsb_release -cs 返回的不是你期望的代号(如 jammy/focal),可以手动替换为对应代号:

  • 22.04 → jammy
  • 20.04 → focal
  • 18.04 → bionic

3. 安装 Docker Engine

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

三、启动并设置开机自启

sudo systemctl enable docker
sudo systemctl start docker

# 验证安装
docker version
docker run hello-world

四、将当前用户加入 docker 组(免 sudo)

sudo usermod -aG docker $USER
# 退出重新登录或执行:
newgrp docker

五、配置国内镜像提速器(提速关键)

1. 编辑 Docker 配置文件

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
EOF

说明:

  • registry-mirrors 中可放多个地址,Docker 会按顺序尝试。
  • 若某个镜像源不稳定,可只保留一个最稳定的。
  • cgroupdriver=systemd 是为了与 systemd 兼容(推荐)。

2. 重启 Docker 服务使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker

3. 验证镜像提速是否生效

拉取一个较大的镜像测试速度,例如:

docker pull nginx:latest

观察下载速度和日志输出,看是否明显加快。


六、可选:使用国内云厂商提供的镜像提速(阿里云等)

如果你使用的是阿里云 ECS,可以在控制台获取专属提速地址,例如:

https://<你的唯一标识>.mirror.aliyuncs.com

将其放入 registry-mirrors 数组即可,例如:

{
  "registry-mirrors": [
    "https://<你的唯一标识>.mirror.aliyuncs.com"
  ]
}

七、常见问题排查

  1. 无法访问 Docker Hub

    • 检查 daemon.json 格式是否正确(无多余逗号、括号闭合)。
    • 确认网络能访问配置的镜像源地址(curl https://...)。
  2. 容器启动慢 / 拉取慢

    • 尝试更换 registry-mirrors 中的源。
    • 检查防火墙/安全组是否限制了出站流量。
  3. 权限问题

    • 确保当前用户在 docker 组:groups $USER
    • 若仍提示 permission denied,重新登录或 newgrp docker

如果你提供具体的 Ubuntu 版本和服务器所在环境(本地机房 / 阿里云 / 腾讯云等),我可以帮你定制一份更精确的配置脚本。