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

相关推荐
天远API5 小时前
零信任架构实战:基于天远运营商二要素V即时版构建自动化分时租赁出行会员身份一致性审核网关
运维·人工智能·架构·自动化
极光通讯5 小时前
液冷服务器对内存和SSD的适配要求:高密度部署下的散热与信号完整性
运维·服务器
2501_937767166 小时前
面向设计 / 研发部门:终端文件统一归档 + 服务器定时备份实践
运维·安全
程序员老赵6 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
重生之高冷汉堡包7 小时前
ChatGPT 如何打造自动化账号:从零搭建到高效运营
运维·chatgpt·自动化
aaa最北边7 小时前
Linux 上的交叉编译
linux·运维·服务器
小张成长计划..8 小时前
【Linux】27:日志
linux·运维·服务器
时间售卖铺8 小时前
Nginx 反向代理
运维·nginx·云原生
life码农8 小时前
Nginx location 优先级详解:匹配规则、修饰符与完整代码示例
运维·nginx
我命由我123458 小时前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee