返回博客

国内 Docker Registry Mirror 2026 存活清单:旧教程害人不浅

新服务器刚装完 docker,照着网上某篇 2022 年的教程把三个 mirror 地址往 daemon.json 一写,systemctl restart docker,然后——docker pull hello-world 直接报 lookup docker.mirrors.ustc.edu.cn: no such host

这不是网络问题,也不是 DNS 配置问题。那些域名本身已经不存在了。

现象

failed to do request: Head "https://registry-1.docker.io/v2/library/hello-world/...":
dial tcp: lookup docker.mirrors.ustc.edu.cn on 100.100.2.136:53: no such host

dig 直接查:

dig docker.mirrors.ustc.edu.cn   # ;; ANSWER SECTION: (空)
dig hub-mirror.c.163.com          # ;; ANSWER SECTION: (空)
dig mirror.ccs.tencentyun.com     # ;; ANSWER SECTION: (空)

三个历史上最常被推荐的 mirror,DNS 记录全部消失。

根因

2024 年开始,国内各大厂的公共 docker registry mirror 因合规原因陆续删除 DNS 记录或关停服务。这不是暂时的网络波动,而是服务下线:

| Mirror | 历史上的角色 | 2026 状态 | |---|---|---| | docker.mirrors.ustc.edu.cn(中科大) | 最被广泛推荐 | ❌ NXDOMAIN | | hub-mirror.c.163.com(网易) | 第二推荐 | ❌ NXDOMAIN | | mirror.ccs.tencentyun.com(腾讯云内) | 腾讯云机器首选 | ❌ NXDOMAIN | | registry.docker-cn.com | Docker 官方中国镜像 | ❌ 更早下线 | | reg-mirror.qiniu.com(七牛) | 备选 | ❌ 更早下线 |

网上大量教程写于 2020-2023 年,至今仍排在搜索结果前列,但内容已完全失效。照抄就是踩坑。

坑:网上 99% 的 docker mirror 教程已失效

搜索出来的教程里的 mirror 地址(中科大 / 网易 / 腾讯云公共 / 七牛 / Docker 官方中国镜像)在 2024 年后陆续因合规下线。直接抄写到 daemon.json 只会让 docker pull 报 no such host,且看起来很像 DNS 配置出了问题,实际上那些域名在权威 DNS 上就已经不存在了。

正解

截至 2026-05,实测无需登录、稳定可用的公共 mirror 是 DaoCloud1Panel

/etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live"
  ],
  "log-driver": "json-file",
  "log-opts": { "max-size": "20m", "max-file": "5" },
  "live-restore": true
}

改完重启并验证:

sudo systemctl restart docker
sudo docker info | grep -A 5 "Registry Mirrors"
sudo docker pull hello-world      # 应秒拉
sudo docker pull mysql:8.0        # 应在 1 分钟内完成

验证 mirror 是否真的活着(不要靠感觉):

# DNS 能拿到 IP 才算第一关
dig docker.m.daocloud.io     # 应返回 47.x.x.x 之类的 IP
dig docker.1panel.live       # 应返回 104.x.x.x
 
# /v2/ 返回 401 或 403 都是正常的,说明 registry 在响应
curl -sI https://docker.m.daocloud.io/v2/
curl -sI https://docker.1panel.live/v2/
正解:DaoCloud + 1Panel 双 mirror,先 dig 验 DNS 再配

写进 daemon.json 前先用 dig <mirror> 确认能拿到 IP,再用 curl -sI <mirror>/v2/ 确认端点响应。两个 mirror 做冗余,任一失效仍有兜底。

备选方案

| Mirror | 适用场景 | |---|---| | https://<id>.mirror.aliyuncs.com | 阿里云用户——需登录控制台拿专属 URL,速度最快 | | https://mirror.ccs.tencentyun.com | 腾讯云 VPC 内部机器(公网 IP 无法访问) | | https://docker.1ms.run | 兜底,不稳定 | | 自建 registry-proxy + 海外 VPS | 完全可控,长期方案,运维成本高 |

顺带一提:如果连 curl https://get.docker.com 都 TLS reset,直接走系统包管理器安装,Ubuntu 22.04+ 的 universe 仓库里有足够新的版本:

sudo apt-get install -y docker.io docker-compose-v2 docker-buildx

一句话外卖

docker mirror 清单有时效性,配置前先 dig <mirror> 验 DNS,搜索结果排名不代表服务还活着。