ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

加个前缀提速 10 倍:public-image-mirror 镜像加速从拉取到内网缓存

加个前缀提速 10 倍:public-image-mirror 镜像加速从拉取到内网缓存 加个前缀提速 10 倍public-image-mirror 镜像加速从拉取到内网缓存【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror凌晨两点CI 流水线卡在第一个镜像上一条 800MB 的镜像从境外仓库Registry拉了半小时进度条几乎不动后面的构建全在排队。其实不用折腾代理public-image-mirror 这类镜像加速项目能在地址前加个前缀就把速度拉回来国内拉 gcr.io、docker.io 的常用镜像都能明显提速。它是怎么工作的可以把它理解成一个代购你要的镜像在海外你喊一声它先去查自己的仓库有没有没有就替你从源站搬回来存好然后从国内节点发给你。这个过程叫懒加载Lazy Loading按需触发——只有第一个请求会慢后面的人直接吃缓存。两个数字要记住缓存只保留 30 天过期后首次拉取会重新回源manifest镜像清单有 1 小时的内存缓存所以 tag 更新后大约一小时才生效。具体机制细节以项目 README 为准。三步跑通1. 给镜像地址加前缀docker pull m.daocloud.io/docker.io/openmetadata/server:latest规则就一条在原始地址前拼上m.daocloud.io/。白名单allows.txt里收录了docker.io/openmetadata/*所以 OpenMetadata 全家桶都能走这条路。2. 先验证镜像是否在白名单./hack/verify-allows.sh allows.txt docker.io/openmetadata脚本返回 0 就能放心拉非 0 说明这个镜像不在同步范围内得走别的渠道。3. 让 docker.io 全局走加速在/etc/docker/daemon.json里加一段重启 Docker 后不用改地址也能加速{ registry-mirrors: [ https://docker.m.daocloud.io ] }只对 docker.io 生效gcr.io、quay.io 等其他源站不能混配进这个字段它们需要各自的前缀替换域名。按需加料内网环境比如 K8s 集群里几十台机器反复拉同一批镜像可以部署一套本地缓存跑一个 registry反向代理到m.daocloud.io之后机器统一在地址前加内网 registry 的地址就行部署步骤写在 docs/local-cache/README.md 里照抄配置即可。另外建议把拉取任务排在闲时北京时间凌晨 1-7 点README 明确写了其他时段队列非常拥挤CI 里尽量用sha256:锁定镜像比latest这类可变 tag 稳得多。踩坑速查Q明明在允许列表里拉取却报 404A先确认缓存是不是超过 30 天被清理了——过期后首次回源期间可能查不到。换个明确版本号或 sha256 再试还不行就看看服务状态页队列只保留一小时的同步记录方便你定位是排队还是失败。Q换了latest的 tag 再拉内容怎么没变A正常现象。manifest 内存缓存 1 小时tag 更新后要等一小时才重新同步。急着要新版本的话等一小时或用明确版本号。Qgcr.io 的镜像怎么加速Am.daocloud.io/前缀是通用写法也可以按源站换前缀域名比如gcr.io换成gcr.m.daocloud.io。完整映射表在项目 README 里别把不同源站的配置串到一起。给地址加个前缀把慢拉取的事交给加速站——这就是 public-image-mirror 最核心的用法白名单和缓存规则随时以项目 README 为准。下一篇我们聊聊内网 registry 缓存的 TTL 到底该怎么调。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表