banner
约 2,100 字
7 分钟

Docker拉不动?这份镜像加速指南亲测有效

摘要

针对国内 Docker 镜像拉取慢的问题,本文推荐了轩辕镜像、毫秒镜像等可用源,并指出阿里云等老牌源已停服。文章详细介绍了 Linux、Docker Desktop 及各类 NAS 的配置方法,强调多源冗余容灾的重要性,并提醒不要在第三方源拉取私有镜像以确保安全。

blog image
blog image

前言:

一条 docker pull 等了一晚上?
作为一个玩NAS和VPS的老用户,在国内拉镜像的时候,那种等待的滋味,懂的都懂 😅
我之前也发过安装KSpeeder服务进行镜像加速的方法,但对小白来说设置还是有点复杂。直接换镜像源最简单也是最一劳永逸的做法。
所以这篇文章,就是为了解决这个痛点的。亲测、可用、零废话。 直接往下看配置就行。


2026 年 6 月可用镜像源速查表

先把结论放在前面,没时间看正文的直接抄这个:

| 镜像源 | 地址 | 实测速度 | 推荐指数 |

|--------|------|---------|---------|

| 🥇 轩辕镜像(免费版) | https://docker.xuanyuan.me | ~12 MB/s | ⭐⭐⭐⭐⭐ |

| 🥈 毫秒镜像 | https://docker.1ms.run | ~11 MB/s | ⭐⭐⭐⭐⭐ |

| 🥉 DaoCloud | https://docker.m.daocloud.io | ~9 MB/s | ⭐⭐⭐⭐ |

| AtomHub | https://atomhub.openatom.cn | ~8 MB/s | ⭐⭐⭐ |

无脑推荐组合:轩辕免费版 + 毫秒镜像 + 官方源兜底

⚠️ 重要提醒:阿里云、中科大、清华、网易等老牌镜像源已经停服,网上搜到的旧教程不要再用了!

c1f99389c51a77f5.png
c1f99389c51a77f5.png

为什么需要配置镜像加速?

可能有人会问:我都哈利·波特了,还需要镜像加速吗?
答案是:需要。
原因有两个:

  1. Docker Daemon 不走系统代理。即使你浏览器能上 Google,docker pull 该卡还是卡

  2. 即使能访问,速度也拉胯。Docker Hub 的 CDN 在国外,国内用户访问就是慢
    而配置镜像加速后,相当于在国内有了一个"缓存节点",下载速度直接起飞。
    我在北京做了测试,用上面的推荐配置,拉一个 100MB 的镜像:

  • 无加速:5-20 分钟(还经常失败)

  • 配置加速后:10-30 秒
    差距就是这么大。


各平台配置方法

方法一:Linux 服务器

bash
# 创建配置目录
sudo mkdir -p /etc/docker
# 写入配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://registry-1.docker.io"
  ],
  "live-restore": true,
  "features": { "buildkit": true }
}
EOF
# 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

验证是否生效

bash
docker info | grep -A 3 "Registry Mirrors"

如果能看到上面配置的地址,就说明成功了 ✅

方法二:Docker Desktop (Windows / Mac)

  1. 打开 Docker Desktop → Settings → Docker Engine

  2. 在 JSON 配置中找到 registry-mirrors 字段,改成:

JSON
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://registry-1.docker.io"
  ]
}
  1. 点击 Apply & Restart

方法三:群晖 NAS

  1. 打开 Docker 套件 → 设置 → 注册表

  2. 在「镜像站点」栏目点击新增

  3. 依次添加:
    - https://docker.xuanyuan.me
    - https://docker.1ms.run

  4. 保存并重启 Docker 服务

方法四:极空间 / 飞牛 / 威联通

这些 NAS 的配置逻辑类似,都在 Docker 的全局设置里找「镜像源」或「Registry Mirror」选项。

de26cc1897b320e9.png
de26cc1897b320e9.png


如果实在找不到,也可以直接用「指定源拉取」的方式:

bash
docker pull docker.xuanyuan.me/library/nginx:alpine

注意:这里需要加上 library/ 前缀,表示从官方镜像库拉取。

方法五:Containerd / K3s / Kubernetes

如果你用的是 containerd(比如 K3s),配置文件位置不同:

bash
# 编辑 containerd 配置
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
# 修改镜像源部分
sudo tee -a /etc/containerd/config.toml <<-'EOF'
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
  endpoint = [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://registry-1.docker.io"
  ]
EOF
# 重启服务
sudo systemctl restart containerd

⚠️ K8s 用户注意:每个节点都要配置!配置完记得滚动重启 kubelet。


一键配置模板

懒人专用,直接复制粘贴:
Linux/macOS 一条命令搞定:

bash
sudo mkdir -p /etc/docker && echo '{"registry-mirrors":["https://docker.xuanyuan.me","https://docker.1ms.run","https://registry-1.docker.io"]}' | sudo tee /etc/docker/daemon.json && sudo systemctl daemon-reload && sudo systemctl restart docker && echo "配置完成!"

踩坑实录:那些坑过我的镜像源

这篇指南能出来的背后,是我踩过无数坑的血泪史 😭

❌ 已失效的镜像源(别再试了)

镜像源

状态

备注

https://<id>.mirror.aliyuncs.com

❌ 需登录且受限

阿里云已停公共加速

docker.mirrors.ustc.edu.cn

❌ 停服

中科大不再同步

hub-mirror.c.163.com

❌ 停服

网易已关闭

docker.mirrors.tuna.tsinghua.edu.cn

❌ 停服

清华不再同步

dockerhub.icu

❌ 证书错误

已无法访问

dockerpull.com

❌ DNS 失败

被墙

⚠️ 谨慎使用的源

网上还有一些个人搭建的镜像源,虽然能用但存在风险:

  1. 安全风险:镜像可能被篡改,植入恶意代码

  2. 稳定风险:个人维护,随时可能跑路

  3. 合规风险:部分源可能涉及灰色地带
    我的建议是:优先选择有备案、有公司背书的源。 比如轩辕镜像和毫秒镜像,都是有明确运营主体的。


高级技巧:多源冗余 + 自动容灾

你可能会有疑问:为啥要配置多个镜像源?
答案是:容错。
Docker 在拉取镜像时,会按照 registry-mirrors 列表的顺序依次尝试。如果第一个源挂了,会自动切换到第二个。所以我们配置多个源,就相当于做了「负载均衡 + 故障转移」。
推荐的配置策略:

JSON
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",      // 首选:速度快
    "https://docker.1ms.run",          // 备选:也很稳
    "https://docker.m.daocloud.io",    // 兜底:老牌服务
    "https://registry-1.docker.io"     // 最终保底:官方源
  ]
}

这样即使前三个源都挂了,还能 fallback 到官方源(虽然慢但至少能拉)。


验证配置是否生效

配置完别急着用,先验证一下:

bash
# 方法1:查看 Docker 信息
docker info | grep -A 3 "Registry Mirrors"
# 方法2:测试拉取速度
time docker pull nginx:alpine
# 方法3:curl 测试镜像源连通性
curl -I https://docker.xuanyuan.me

如果 curl 返回 HTTP/2 200HTTP/1.1 200 OK,说明镜像源是通的。


常见问题 FAQ

Q1:配置完还是慢怎么办?

  • 检查 URL 是否拼写正确(不要加末尾斜杠 /

  • 检查系统时间是否同步(TLS 证书验证需要)

  • 尝试更换 DNS(如 8.8.8.8223.5.5.5

  • 执行 docker info 确认配置已加载
    Q2:镜像源能拉私有镜像吗?
    不能! 第三方镜像源只缓存公共镜像。如果你要拉私有镜像,要么走官方源,要么自建 Harbor。
    Q3:NAS 上配置后没有生效?

  • 确认配置的是「镜像站点」(Registry Mirror) 而不是「注册表」(Registry)

  • 重启整个 Docker 服务,不要只重启容器

  • 极空间用户可能需要重启 NAS 本身
    Q4:Windows Docker Desktop 配置完报错?

  • 检查 JSON 格式是否正确(逗号、引号不能少)

  • 使用 Docker Desktop 自带的 JSON 校验功能

  • 重启 Docker Desktop 时不要开 VPN


安全提醒 ⚠️

最后唠叨几句安全相关的事项:

  1. 不要在第三方镜像源上拉取私有镜像。你的代码、密钥可能会被中间人截获。

  2. 敏感生产环境建议自建 Harbor。镜像加速只适用于公共镜像,企业内部使用请自建私有仓库。

  3. 开启 Docker Content Trust
    bash    export DOCKER_CONTENT_TRUST=1    
    这样可以验证镜像签名,防止被篡改。

  4. 定期检查镜像源状态。镜像源服务可能因运营调整而变化,建议每季度检查一次可用性。


写在最后

Docker 镜像加速这件事,说大不大,说小不小。配置好了,开发效率提升十倍;配置不好,就是无尽的等待和抓狂。
这篇指南是基于 2026 年 6 月的实测结果整理的,但网络环境瞬息万变,镜像源也可能随时调整。

END