ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

容器镜像同步加速:3 步配置 DaoCloud public-image-mirror 代理

容器镜像同步加速:3 步配置 DaoCloud public-image-mirror 代理 容器镜像同步加速3 步配置 DaoCloud public-image-mirror 代理【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirrorpublic-image-mirror 是公开的容器镜像同步镜像服务你在源镜像地址前加 m.daocloud.io/ 前缀服务会替你拉取并缓存国内拉取不再走跨境链路。同步后的镜像 sha256 与源仓库一致。3 分钟跑通第一次加速拉取这条命令通过代理地址拉取 nginx 官方镜像再启动容器确认镜像可用docker pull m.daocloud.io/docker.io/library/nginx docker run --rm m.daocloud.io/docker.io/library/nginx nginx -v写地址时有 4 个注意点加前缀的方式对任意源站有效是 README 推荐的方式。前缀替换仅限 README 表格里列出的源站新源站需提 Issue 申请。服务对新镜像会自动触发后台同步首次拉取可能等待一段时间。固定版本号或 sha256。latest 属可变 tag变更后会返回旧数据并重新同步。拉取成功后看看缓存是怎么工作的。看懂懒加载缓存机制懒加载指服务不预先同步全部镜像而是你真正请求时才从源仓库取。README.md 给出了三个缓存数字排查时心里有数缓存内容只保留 30 天过期后重新拉取会再次同步。Manifest镜像元数据内存缓存 1 小时tag 变更 1 小时内不会同步。Blob镜像层数据内存缓存 1 分钟。期间层若到 30 天期限被删除会报 404。服务每天检查同步情况保证更新实时。缓存弄懂了按你的环境选配置。按环境配置 docker pull 加速配置单机 Docker 守护进程只拉 docker.io 的镜像可以不改地址。往守护进程配置里加 registry-mirrors写入 /etc/docker/daemon.json 后重启服务{ registry-mirrors: [ https://docker.m.daocloud.io ] }systemctl restart docker⚠️ README 提醒registry-mirrors 只允许配置 docker.io各源站内容不同别把一个镜像地址全局套用。docker.io 之外的源站直接加前缀即可docker pull m.daocloud.io/gcr.io/google-containers/pause:3.9配置单机 Podman 镜像Podman 可以为 docker.io 之外的源站配置 mirror。追加到 /etc/containers/registries.confrootless 模式写入 ~/.config/containers/registries.conf[[registry]] location gcr.io [[registry.mirror]] location gcr.m.daocloud.io配置 k8s 集群与 CI 流水线kubeadm 装集群只需改 imageRepository核心组件镜像不再从原源站下载。k8s.gcr.io 已迁移到 registry.k8s.io代理对应 k8s.m.daocloud.ioimageRepository: k8s.m.daocloud.io dns: imageRepository: k8s.m.daocloud.io/corednskind 本地集群把节点镜像换成代理地址即可kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1排查 k8s 镜像拉取超时先确认节点守护进程或 containerd 配了镜像代理。节点若完全没走代理超时就是跨境网络问题。CI 流水线可按 README 建议把批量拉取放在闲时北京时间 01-07 点其他时段拥挤。配置生效后验证并排查。排查镜像同步 404 与拉取慢排障前先确认镜像在白名单内。项目用 allows.txt 管理可同步的仓库支持 * 与 ** 通配grep ^gcr.io/ allows.txt常见失败原因与解法原因现象解法镜像不在白名单404 或直接拒绝grep 确认向项目提 Issue 申请加入缓存已过期闲置较久后重拉 404缓存只保留 30 天重新拉取触发同步tag 更新后内容未同步仍拉到旧镜像Manifest 内存缓存 1 小时等待或用 sha256 固定拉取 latest 等可变 tag返回旧数据并后台重新同步固定版本号或改用 sha256首次拉取新镜像慢同步期间等待时间长懒加载首次取数耗时闲时 01-07 点安排同步队列页面只保留一小时的记录趁早查看进度。✅ 确认生效的办法是对比两个镜像 ID应当完全一致docker pull docker.io/library/nginx docker pull m.daocloud.io/docker.io/library/nginx docker image inspect docker.io/library/nginx --format {{.Id}} docker image inspect m.daocloud.io/docker.io/library/nginx --format {{.Id}}想再深入仓库里还有这几条路径。再看仓库里 3 条路径内网缓存部署文档用 docker compose 部署一个 registry代理 remoteurl 指向 m.daocloud.io得到内网本地缓存。白名单匹配脚本演示 allows.txt 的通配匹配规则自己写白名单校验时可以参考。镜像地址规范脚本给省略写法补齐 docker.io/library/:latest 前缀写批量拉取脚本时有用。现在就能做打开终端执行grep ^docker.io/library/nginx allows.txt确认镜像在白名单内再把部署文件里的源地址换成代理地址。延伸阅读内网缓存部署文档【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表