Docker 镜像加速器配置完整指南 i5 ubuntu docker配置

Docker 镜像加速器配置完整指南

  1. 检查当前 DNS 设置
    bash

查看当前 DNS 配置

cat /etc/resolv.conf
resolvectl status

  1. 修复 DNS 配置(如无法解析域名)
    bash

停止并禁用 systemd-resolved

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

删除原有 resolv.conf

sudo rm /etc/resolv.conf

创建新的 DNS 配置(使用公共 DNS)

sudo tee /etc/resolv.conf <<-‘EOF’
nameserver 223.5.5.5
nameserver 114.114.114.114
nameserver 8.8.8.8
options timeout:2 attempts:3 rotate
EOF

锁定文件防止被修改

sudo chattr +i /etc/resolv.conf

测试 DNS 解析

nslookup docker.com 223.5.5.5
ping -c 3 docker.com

  1. 配置 Docker 镜像加速器
    bash

创建或编辑 Docker 配置文件

sudo vi /etc/docker/daemon.json
写入以下配置(使用已验证可用的 DaoCloud 源):

json
{
“registry-mirrors”: [
“https://docker.m.daocloud.io”,
“https://docker.nju.edu.cn”,
“https://dockerproxy.com”
],
“dns”: [“223.5.5.5”, “114.114.114.114”, “8.8.8.8”],
“max-concurrent-downloads”: 10,
“max-concurrent-uploads”: 10,
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “10m”,
“max-file”: “3”
},
“iptables”: false,
“experimental”: true
}

  1. 重启 Docker 使配置生效
    bash

重新加载配置并重启

sudo systemctl daemon-reload
sudo systemctl restart docker

验证配置是否生效

docker info | grep -A 5 “Registry Mirrors”

  1. 测试镜像拉取
    bash

测试拉取镜像(通过 DaoCloud 源)

docker pull docker.m.daocloud.io/library/hello-world:latest

测试拉取 postgres 镜像

docker pull docker.m.daocloud.io/library/postgres:16-alpine

测试 docker-compose 构建

cd /your-project-directory
docker-compose up -d –build

  1. 备用方案:修改 docker-compose.yml
    如果默认镜像拉取失败,可直接使用镜像源地址:

yaml
services:
postgres:
image: docker.m.daocloud.io/library/postgres:16-alpine
# … 其他配置

  1. 手动拉取镜像的备用方法
    bash

在其他可访问 Docker Hub 的机器上

docker pull postgres:16-alpine
docker save postgres:16-alpine -o postgres.tar

传输到目标服务器

scp postgres.tar user@server-ip:/tmp/

在目标服务器上导入

docker load -i /tmp/postgres.tar
docker tag postgres:16-alpine postgres:16-alpine

  1. 常用镜像源地址(2026年可用)
    json
    {
    “registry-mirrors”: [
    “https://docker.m.daocloud.io”, // DaoCloud(推荐,已验证可用)
    “https://docker.nju.edu.cn”, // 南京大学
    “https://dockerproxy.com”, // Docker 代理
    “https://docker.mirrors.ustc.edu.cn”, // 中科大(可能不稳定)
    “https://hub-mirror.c.163.com” // 网易(可能不稳定)
    ]
    }
  2. 故障排查命令
    bash

测试镜像源连通性

curl -I https://docker.m.daocloud.io/v2/

查看 Docker 日志

sudo journalctl -u docker -f

检查防火墙

sudo iptables -L -n | grep docker

测试端口连通性

nc -zv registry-1.docker.io 443
telnet registry-1.docker.io 443
这个配置流程已经在 Ubuntu 24.04 服务器上验证通过,DaoCloud 源目前稳定可用。保存这份指南,以后在新服务器上配置 Docker 时直接按步骤执行即可。

发表评论