恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
public-image-mirror 镜像加速:加 1 个前缀,国内拉取境外镜像不再超时
首页
资讯中心
/
public-image-mirror 镜像加速:加 1 个前缀,国内拉取境外镜像不再超时
public-image-mirror 镜像加速:加 1 个前缀,国内拉取境外镜像不再超时
发布时间:2026/9/11 16:18:12
public-image-mirror 镜像加速加 1 个前缀国内拉取境外镜像不再超时【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror国内拉取 gcr.io、ghcr.io 这类境外镜像经常慢到超时镜像加速几乎是刚需。public-image-mirror 维护了一份公开镜像仓库白名单配合 DaoCloud 的国内缓存节点做镜像同步命中白名单的镜像在原地址前加一个前缀就能直接拉取。本文给出一条命令跑通的最小路径以及分场景的配置与排错要点。快速上手一条命令把 nginx 拉起来最省事的做法是前缀法在原镜像地址前加m.daocloud.io/其余不变。docker run -d -P m.daocloud.io/docker.io/library/nginx前缀后必须带完整的源站域名如docker.io/...这个写法对所有受支持的源站通用。可拉取的范围由白名单文件决定1300 多条规则覆盖 docker.io、gcr.io、ghcr.io 等仓库。它是怎么工作的白名单与懒加载同步服务本身只是源 Registry 的 mirror命中白名单的镜像才会同步采用懒加载拉取时才回源所有 blob 的 sha256 与源端保持一致不改内容。缓存不是永久的内容只保留 30 天过期后下次拉取会重新同步manifest 有 1 小时内存缓存可变 tag 更新后最多 1 小时才刷出新内容。按场景选方案单机、其他源站、K8s 与内网单机 Docker前缀或全局镜像源前缀法逐镜像生效。如果机器上基本只拉 docker.io更省事的写法是全局配置写入/etc/docker/daemon.json{ registry-mirrors: [https://docker.m.daocloud.io] }改完重启 Docker。注意 docker 的registry-mirrors只对 docker.io 生效其他源站要走前缀法。Podman 则可以在/etc/containers/registries.conf里按源站逐条配 mirrorgcr、ghcr、quay 都能配。其他源站前缀替换对照表前缀法的通用写法是m.daocloud.io/源站/路径另外项目人工维护了一批前缀替换的快捷域名两种写法等价新源站需提 Issue 添加源站前缀替换域名docker.iodocker.m.daocloud.iogcr.iogcr.m.daocloud.ioghcr.ioghcr.m.daocloud.ioquay.ioquay.m.daocloud.ioregistry.k8s.iok8s.m.daocloud.iomcr.microsoft.commcr.m.daocloud.ionvcr.ionvcr.m.daocloud.iok8s.gcr.iok8s-gcr.m.daocloud.ioK8s 集群换 imageRepository 或 node 镜像kubeadm 安装时在 ClusterConfiguration 里替换 imageRepositorycoredns 走k8s.m.daocloud.io/corednsapiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration dns: imageRepository: k8s.m.daocloud.io/coredns imageRepository: k8s.m.daocloud.iokind 建本地集群直接换 node 镜像kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1。不想动现有 yaml 和 helm 的可以部署 repimage 这类 Webhook 自动改写新建 Pod 的镜像地址Containerd 按官方 hosts 文档指到对应加速域名即可。内网缓存再套一层本地代理企业内网建议参考内网缓存文档用 registry:3 起一个指向m.daocloud.io的缓存代理客户端把insecure-registries指过去之后拉取格式变成本地registry:8888/原地址对外网的依赖只剩一层。确认生效与常见卡点现象拉取报 404 或 manifest unknown →原因镜像不在白名单 →处理clone 仓库后用 hack/verify-allows.sh 核对镜像名去掉 tag 再传入git clone https://gitcode.com/GitHub_Trending/pu/public-image-mirror cd public-image-mirror bash hack/verify-allows.sh allows.txt docker.io/library/busybox返回码 0 表示命中不命中可提 Issue 请求收录。地址格式不确定时先用 hack/correct-image.sh 归一化再核对。现象latest 等可变 tag 已更新拉到的还是旧内容 →原因manifest 内存缓存 1 小时 →处理等 1 小时重试或改用固定 tag、digest。现象偶发单个镜像 404 →原因blob 缓存只保留 30 天叠加 1 分钟 blob 内存缓存过期窗口内可能查不到 →处理重新 pull 触发回源。现象高峰期拉取慢、队列拥塞 →原因同步任务集中在白天 →处理批量同步安排在凌晨北京时间 01:00–07:00执行。现象把gcr.m.daocloud.io配进 docker 的registry-mirrors没效果 →原因该配置只对 docker.io 生效 →处理其他源站逐镜像加前缀或换 Podman 按源站配 mirror。让它更稳的几个习惯优先用sha256:digest 指定镜像其次固定版本 tag最后才用 latest可变 tag 变更后服务会先响应旧缓存再重新同步digest 则稳定。批量同步放凌晨README 建议闲时北京时间 01:00–07:00拉取避开拥塞窗口。拉完对一下 digestmirror 与源端 sha256 保持一致不一致说明链路有问题。长期不拉的镜像别默认已缓存30 天过期后需重新同步重新 pull 即可。以上配置都取自仓库白名单也在持续变化建议定期看一眼 allows.txt 里有没有新收录你需要的仓库。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考