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 节点尤其要这样做,否则一次失败日志里会混着多个上游源,很难定位。

相关推荐
网硕互联的小客服5 分钟前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
楚识科技20 分钟前
合同比对全流程自动化:OCR识别+差异比对+法律风险字段抽取实战指南
运维·自动化·ocr
代码方舟32 分钟前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
贵沫末1 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo2 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_808414382 小时前
Linux中动静态库的理解
linux·运维·服务器
誰能久伴不乏2 小时前
保姆级 Docker 入门教程
docker·容器·eureka
分布式存储与RustFS3 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
一条破秋裤4 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
FED_AF6 小时前
Linux运维“邪修”功法之通配符
linux·运维