FEATURED · 精选文章

拉 gcr 镜像卡了 20 分钟?public-image-mirror 国内镜像加速完整指南

发布时间 / 2026/9/11 11:06:59
来源 / 创域科博编辑部
栏目 / 资讯中心
拉 gcr 镜像卡了 20 分钟?public-image-mirror 国内镜像加速完整指南 拉 gcr 镜像卡了 20 分钟public-image-mirror 国内镜像加速完整指南【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror执行docker pull时源仓库在美国比如 gcr.io国内网络经常出现 timeout waiting for header bytes一次拉取拖上 20 分钟CI 任务也跟着卡死。开源项目 public-image-mirrorDaoCloud提供一套公开的容器镜像加速服务在原始镜像地址前加一个前缀由国内节点代你按需拉取并缓存拉到的内容哈希与源仓库完全一致。读完这篇文章你能做到用 3 个步骤确认镜像受支持并完成首次加速拉取理解白名单、懒加载、30 天缓存的机制判断为什么拉不到/拉到旧版给 Docker 客户端配置全局加速并为内网环境部署本地缓存动手三步从校验到拉取1. 确认镜像在白名单中该服务只同步白名单一份允许同步的镜像地址前缀清单内的镜像。先克隆仓库再用校验脚本确认你的镜像git clone https://gitcode.com/GitHub_Trending/pu/public-image-mirror bash public-image-mirror/hack/verify-allows.sh public-image-mirror/allows.txt docker.io/library/postgres命令无输出且退出码为 0即表示该镜像受支持。当前 allows.txt 收录 1327 条白名单docker.io、gcr.io 等仓库以整仓形式docker.io/*收录。2. 把地址补全为标准格式随手写的镜像名如postgres经常缺前缀和 tag可用 hack/correct-image.sh 自动补全bash public-image-mirror/hack/correct-image.sh postgres:16-alpine输出docker.io/library/postgres:16-alpine。脚本会自动填上官方镜像的library/前缀无 tag 时补latest得到可直接使用的完整地址。3. 加前缀触发首次拉取在标准地址前加m.daocloud.io/像平常一样拉取即可docker pull m.daocloud.io/docker.io/library/postgres:16-alpine这一次拉取会触发镜像端的按需同步懒加载收到请求后才从源仓库取数据一般 2 分钟内完成之后内容在国内节点保留缓存。底层机制白名单、懒加载与 30 天缓存直连海外仓库为什么不可靠链路长、易拥塞超时后只能重试且多次重试拿到的版本未必一致。这个项目用国内缓存 白名单限流的思路解决它直连海外源仓库使用 public-image-mirror收益跨洋链路频繁超时重试国内节点按需同步30 天缓存首次拉取小于 2 分钟重复拉取更快拿到什么算什么难以核对sha256 与源仓库保持一致每次取到的内容与官方一致全量镜像都走同一通道白名单1327 条 限流服务稳定不易被挤爆具体机制有四点。第一按需同步镜像端不预先搬运全部镜像检测到拉取请求才回源且返回内容的 sha256 指纹与源一致。第二白名单加限流只有清单内的前缀允许同步新镜像需要提 Issue 申请加入。第三缓存内容保留 30 天过期删除再次拉取时重新同步。第四manifest描述镜像内容结构的元数据有 1 小时内存缓存所以 tag 更新后最多 1 小时才会生效。进阶全局加速与内网缓存单个镜像加前缀之外还有两个更省事的用法。一次配置全局生效如果只从 docker.io 拉镜像把镜像站写入/etc/docker/daemon.json之后直接用原始地址即可{ registry-mirrors: [https://docker.m.daocloud.io] }给内网部署一层本地缓存在内部服务器跑一个 registry 代理把m.daocloud.io缓存到内网弱网或断网环境也能拉镜像完整步骤见 docs/local-cache/README.mddocker compose up -d避坑三个高频故障的排查现象拉取报 404 Not Found。原因缓存内容超过 30 天被清理。解决直接重新拉取懒加载会自动回源重新同步。现象tag 已更新拉到的还是旧版本。原因manifest 内存缓存 1 小时期间返回旧数据。解决用sha256:摘要镜像内容的不可变指纹固定版本或等缓存过期。现象白天批量拉取明显变慢。原因白天时段服务拥挤。解决把批量同步任务挪到凌晨 01:00-07:00北京时间的闲时窗口执行。小结3 步完成首次加速拉取白名单校验、地址补全、加前缀拉取白名单 懒加载 30 天缓存的组合让拉取既快又与源仓库一致全局 registry-mirrors 与内网缓存两个进阶用法适合长期使用完整规则与更多仓库的替换地址见 README.md离线或内网场景建议延伸阅读 内网缓存部署文档。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻