Docker Hub、GHCR、Quay 混在一起后,镜像源要分开测

最近我重新整理了一下测试机的 Docker 镜像源。问题不是没有镜像源,而是配置里混着很多历史地址:有些早就连不上,有些只适合 Docker Hub,有些对 GHCR、Quay、MCR 完全没帮助。

所以这次不再写"一串地址复制走",而是按来源分组。

先分清来源

来源 示例镜像 可试入口
Docker Hub nginx:alpine docker.1ms.run
Docker Hub library/nginx:alpine docker.m.daocloud.io
GHCR open-webui/open-webui:main ghcr.1ms.run
K8s pause:3.10 k8s.1ms.run
Quay prometheus/prometheus:latest quay.1ms.run
MCR playwright/mcp mcr.1ms.run

先测 registry 是否有响应

bash 复制代码
curl -I https://docker.1ms.run/v2/
curl -I https://docker.m.daocloud.io/v2/
curl -I https://m.daocloud.io/v2/

401 Unauthorized 不代表失败。Registry 端点要求鉴权很常见,这至少说明服务有响应。

Docker Hub 配置

/etc/docker/daemon.json

json 复制代码
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io"
  ]
}

重启:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info | grep -A 10 "Registry Mirrors"

多源镜像直接换地址

GHCR:

bash 复制代码
docker pull ghcr.1ms.run/open-webui/open-webui:main

MCR:

bash 复制代码
docker pull mcr.1ms.run/playwright/mcp

Quay:

bash 复制代码
docker pull quay.1ms.run/prometheus/prometheus:latest

K8s:

bash 复制代码
docker pull k8s.1ms.run/pause:3.10

这比把所有问题都塞给 registry-mirrors 清晰很多。

老源我不会放主配置

这些地址在旧教程里常见:

text 复制代码
hub-mirror.c.163.com
reg-mirror.qiniu.com
dockerproxy.com
dockerhub.icu

我的做法是:临时排查可以试,团队机器不放第一顺位。因为维护状态、证书、解析和覆盖范围都不够可控。

最后

镜像源配置的重点不是"地址越多越好",而是能不能解释每个地址解决什么来源。

Docker Hub 用 Docker Hub mirror。GHCR、Quay、MCR、K8s 分别换对应入口。CI runner 和 K8s 节点尤其要这样做,否则一次失败日志里会混着多个上游源,很难定位。

相关推荐
qq_452396231 小时前
第十五篇:《Docker 与 Kubernetes 集成:从 Swarm 到 K8s 的迁移》
docker·容器·kubernetes
LT10157974442 小时前
2026年物流RPA选型指南:物流供应链自动化场景适配
运维·自动化·rpa
AC赳赳老秦2 小时前
OpenClaw任务复盘自动化:统计每日完成工作、遗留问题,优化工作节奏
java·大数据·linux·运维·服务器·数据库·openclaw
雾岛心情2 小时前
【小铭邮箱】小铭邮箱工具箱公司版本导入VCF文件
运维·工具·exchage·o365·小铭邮件工具箱(公司版)
kaoa0002 小时前
Linux入门攻坚——79、XEN虚拟化-2
linux·运维·开发语言
AOwhisky2 小时前
学习自测(MySQL系列第一期、第二期)
linux·运维·数据库·学习·mysql·云计算
lpfasd1232 小时前
docker中默认网络的作用和注意事项
网络·docker·容器
Kyrie_Li2 小时前
Kafka-基础知识总结
运维·分布式·kafka
OpsEye2 小时前
一次SSH暴力破解后的安全复盘
运维·服务器·ssh