Docker 镜像源测速与配置生成器
真实验证 Docker Registry V2 镜像拉取能力,再根据当前网络延迟排序并生成可直接使用的配置。
临时加入自己的镜像源
只接受域名(可带端口),不会被保存;单次最多 3 个。为防止被当作内网扫描器,指向内网地址的域名会被拒绝。
本次免费检测最多可加入 3 个自定义镜像源。赞助 17NAS 可帮助我们持续维护和改进 Docker 工具。可直接使用的镜像源
这些源本身是活的:有的要先 docker login,有的当下被限流,有的对我们的探测节点做了地区限制。它们不会写进下面自动生成的配置,但在你的网络里可能完全可用。
域名解析不到、连不上,或者能连上但返回的是网页而不是镜像清单。后一类最容易踩坑——浏览器打开是正常页面,配进 Docker 却一定拉取失败。这里保留原样列出,不会自动从列表里删掉。
一键生成配置
/etc/docker/daemon.json
- 把内容写入
/etc/docker/daemon.json - 重启 Docker 服务:
sudo systemctl restart docker - 确认已生效:
docker info | grep -i registry
- 建好目录:
sudo mkdir -p /etc/containerd/certs.d/docker.io - 把上面的内容存成该目录下的
hosts.toml - 重启 containerd:
sudo systemctl restart containerd
如果面板支持“每行一个镜像加速地址”的输入格式,切换到上方“1Panel / DPanel”标签,复制本次检测生成的地址列表即可。
检测分两路。协议验证由 17NAS 探测节点完成:先请求 /v2/,若返回 401 + WWW-Authenticate: Bearer 就按 Docker 标准流程去换匿名令牌,再带着令牌拉 library/alpine:latest 的镜像清单,最后检查响应确实是清单(看 Docker-Content-Digest 头和媒体类型)而不是一张网页。延迟则由你的浏览器直接请求各个源的 /v2/ 并计时,取三次的中位数——这才是你实际会遇到的速度,所以排序和推荐都按它来。
六种状态分别是什么意思
- 可直接使用:匿名就拉到了真实的镜像清单,写进配置即可用。
- 需要登录:源是活的,但必须先
docker login。云厂商的私有加速源基本都在这一类。 - 被限流:短时间请求太多被挡(HTTP 429)。这是临时状态,过一会儿再测多半就好了。
- 访问受限:源明确拒绝了我们的探测节点(HTTP 403),常见于校园网、内网或按地区限制的源。你在对应网络里可能完全正常。
- 不是镜像仓库:能连上,但返回的是网页、找不到镜像或者乱跳转。只看 HTTP 状态码的测速工具最容易把这类判成"可用",配进
daemon.json后docker pull必然失败。 - 无法连接:域名已经没有解析记录,或者连接、TLS 握手失败。公共镜像源关停时通常直接停解析,这一类基本可以从收藏夹里删了。
需要登录的源怎么配
先 docker login 镜像源域名 输入厂商给的账号密码,登录信息会存到 ~/.docker/config.json,之后再把域名手动加进 registry-mirrors。注意这个文件里的凭据只是 base64 编码、不是加密,别把它连同备份一起传到公开仓库。
docker pull 的实际带宽。