国内可用 Docker Hub 镜像源
实时测速 + 一键配置
页面会在你的浏览器里逐个探测镜像源的可用性和延迟,自动勾选最快的几个,并生成可直接复制的 daemon.json、containerd、Podman 配置,告别 docker pull 超时。
镜像源列表
| 名称 | 镜像地址 | 类型 | 状态 | 延迟 |
|---|
测速原理:浏览器向每个源的 /v2/ 接口发起两次请求,取较快的一次作为延迟。延迟只反映连通速度,实际下载速度还受源站带宽和晚高峰限速影响。部分通用源只缓存热门镜像,拉取失败时换下一个即可。
一键生成配置
实用方案
1验证加速是否生效
重启 Docker 后执行下面的命令,能看到 Registry Mirrors 列表就说明配置已加载。
docker info | grep -A 10 "Registry Mirrors"
2不改配置临时拉取
在镜像名前加上镜像源域名即可直接拉取,拉完再打回原名,适合没有 root 权限或只想临时用一次。
3docker-compose 批量预拉
配置好镜像源后,先把 compose 里所有镜像拉下来再启动,避免启动过程中某个镜像超时导致整体失败。
docker compose pull docker compose up -d
4离线传输镜像
服务器完全无法联网时,在能拉取的机器上导出,传到服务器后再导入。
# 有网机器:导出 docker pull nginx:latest docker save nginx:latest | gzip > nginx.tar.gz # 目标服务器:导入 gunzip -c nginx.tar.gz | docker load
5拉取指定架构
在 x86 电脑上给 ARM 设备(树莓派、软路由、Mac M 系列服务器)准备镜像时,指定平台拉取。
docker pull --platform linux/arm64 nginx:latest docker save nginx:latest -o nginx-arm64.tar
6恢复默认配置
镜像源异常或想回到官方源时,删掉 registry-mirrors 配置并重启即可。先备份再删除。
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak sudo rm /etc/docker/daemon.json sudo systemctl restart docker
常见问题
配置了镜像源,为什么 ghcr.io、gcr.io、quay.io 的镜像还是很慢?
Docker 的 registry-mirrors 只对 Docker Hub(docker.io)生效。其他仓库的镜像需要写完整地址,或者用支持多仓库的代理服务。
测速显示在线,但 docker pull 还是失败?
测速只检测接口能否连通。部分通用源只缓存热门镜像或设置了白名单,冷门镜像会拉取失败。Docker 会按顺序尝试列表中的源,所以建议同时配置 3 到 5 个,前面的失败会自动切换到下一个。
为什么在服务器上测和在电脑浏览器里测结果不一样?
本页测的是你当前浏览器所在的网络。服务器和电脑的线路、运营商不同,延迟会有差异。可以在服务器上执行 curl -o /dev/null -s -w "%{time_total}\n" https://镜像地址/v2/ 实际测一次。
地址末尾要不要带斜杠?
不要。https://docker.1ms.run 是正确写法,写成 https://docker.1ms.run/ 在部分 Docker 版本上会导致配置无效。
修改 daemon.json 后 Docker 启动不了?
一般是 JSON 格式有误,比如多了逗号或少了引号。用 sudo journalctl -u docker -n 50 查看报错,修正后执行 sudo systemctl restart docker。本页生成的配置可以直接使用。
第三方镜像源安全吗?
镜像源只是转发 Docker Hub 的内容,镜像摘要(digest)由 Docker 校验,被篡改的层无法通过校验。但不要通过第三方源推送或拉取私有镜像,也不要在上面执行 docker login。生产环境建议使用云厂商提供的专属加速地址或自建镜像仓库。