ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

DaoCloud 镜像加速实战教程:3 步替换前缀,镜像拉取提速

DaoCloud 镜像加速实战教程:3 步替换前缀,镜像拉取提速 DaoCloud 镜像加速实战教程3 步替换前缀镜像拉取提速【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror昨晚发布拉取gcr.io的镜像卡了一个小时进度条几乎不动。这类场景本仓库的 public-image-mirror 项目给出的路径很简单使用 DaoCloud 镜像加速给镜像地址加一个前缀拉取就走国内镜像节点。⚡ 它是怎么加速的m.daocloud.io 是源仓库Registry的镜像拉取请求到达时节点按需回源并缓存懒加载缓存内容的 sha256 摘要与源仓库保持一致。接入方式是纯前缀替换——在原始地址前加m.daocloud.io/或把源仓库域名换成docker.m.daocloud.io这类专用域名部署脚本不需要改动。哪些镜像可以加速由白名单 allows.txt目前一千三百余条控制项目每天同步并校验状态。另有两条缓存规则要知道内容保留 30 天过期后需重新同步tag 更新后新 manifest 最长约 1 小时同步到位。 三步接入第 1 步clone 项目源码git clone https://gitcode.com/GitHub_Trending/pu/public-image-mirror cd public-image-mirror第 2 步如何确认镜像在同步白名单镜像路径不带 tag出现在 allows.txt 中即可同步校验脚本位于 hack/ 目录直接运行 verify-allows.sh./hack/verify-allows.sh allows.txt docker.io/prom/node-exporter返回码为 0 表示在白名单内。第 3 步替换镜像地址前缀m.daocloud.io 的两种常见用法项目推荐加前缀方式docker.io/prom/node-exporter:v1.8.2 → m.daocloud.io/docker.io/prom/node-exporter:v1.8.2 # 加前缀推荐 → docker.m.daocloud.io/prom/node-exporter:v1.8.2 # 域名替换替换后即可直接拉取验证docker run -d -P m.daocloud.io/docker.io/library/nginx按环境配置Dockerregistry-mirrors 配置在哪改在/etc/docker/daemon.json中增加{ registry-mirrors: [https://docker.m.daocloud.io] }该配置只加速 docker.io 的镜像各源站内容不同不要把 docker.io 之外的站点也指到这个 mirror。Kubernetes 镜像拉取加速替换 yaml 中的 image把 Deployment / DaemonSet 里的image字段换成带前缀地址image: m.daocloud.io/docker.io/prom/node-exporter:v1.8.2用 kubeadm 初始化集群时把配置中的imageRepository设为k8s.m.daocloud.iokind 建集群则直接kind create cluster --image m.daocloud.io/docker.io/kindest/node:v1.22.1。Containerd配置 hosts.toml在 registry 配置目录如/etc/containerd/certs.d/下建docker.io/hosts.tomlserver https://docker.io [host.https://docker.m.daocloud.io] capabilities [pull, resolve]字段含义以 Containerd 官方文档的 registry host namespace 一节为准kubespray 安装的可以改用containerd_registries_mirrors配置项。CI/CD用环境变量固定加速地址export ACCELERATED_IMAGEm.daocloud.io/docker.io/prom/node-exporter:v1.8.2流水线里用该变量构建和发布即可。镜像清单长、拉取量稳定时可参考 docs/local-cache/ 部署内网缓存用本地 registry 做代理缓存内网只需替换一次前缀。 怎么验证、出错怎么办白名单校验与镜像名规范化拿不准地址是否在白名单时用 verify-allows.sh 确认输入缺 registry 域名或缺 tag 时先跑 correct-image.sh 得到规范结果./hack/correct-image.sh node-exporter # 输出 docker.io/library/node-exporter:latest查看同步状态同步队列状态页queue.m.daocloud.io只保留最近一小时的记录。刚加入白名单的镜像拉取报 404多半是还在同步等队列处理完再试。校验镜像摘要一致性镜像走懒加载sha256 与源一致。关键发布镜像建议用sha256:摘要锁定并与源仓库同一镜像的摘要比对确认一致后再用。常见情况镜像拉取失败怎么办先用 verify-allows.sh 确认镜像是否在白名单不在则暂不支持加速可关注该镜像的收录进展或先用源地址。版本为什么和源不一致优先用摘要其次用具体版本号。latest是可变 tag变更后镜像会先响应旧数据、后台再重新同步发布验证请避开它。为什么之前能拉现在报 404缓存内容保留 30 天过期需重新同步重新拉取即会触发回源。tag 更新后 manifest 有 1 小时缓存新 tag 最长 1 小时才可见。顺手的几点批量拉取安排在闲时项目建议北京时间 01:00–07:00其他时段队列拥挤。相关镜像一起拉取拉取量稳定时用 docs/local-cache/ 的内网缓存减少重复回源。用多阶段构建控制镜像体积镜像越小同步和拉取越快。定期清理本地无用镜像与构建缓存给新镜像留空间。白名单会随项目持续更新镜像收录后要做的就只是替换前缀这一件事。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表