国内 Docker 镜像加速实战:gcr.io、k8s.gcr.io 拉取慢怎么办

发布时间:2026/9/11 14:22:31
国内 Docker 镜像加速实战:gcr.io、k8s.gcr.io 拉取慢怎么办 国内 Docker 镜像加速实战gcr.io、k8s.gcr.io 拉取慢怎么办【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror昨晚拉一个 gcr.io 上的基础镜像等了半小时还超时这是典型的国内镜像拉取慢问题根源在源仓库都在国外。public-image-mirror 是一个 Docker 镜像加速服务把海外公共镜像缓存到国内代理域名上你直接通过加速域名 m.daocloud.io 拉取即可。原理一句话代理缓存hash 与源站一致这个项目就是源 Registry 的镜像Mirror。所有 hash(sha256) 均与源保持一致每天检查同步情况确保内容更新。缓存内容只保留 30 天过期后重新同步manifest 内存缓存 1 小时blob 内存缓存 1 分钟。镜像地址的两种改法加前缀与换前缀推荐方式是加前缀把原地址整体挂到 m.daocloud.io 后面docker.io/library/busybox → m.daocloud.io/docker.io/library/busybox对配置了加速域名的仓库也可以直接换前缀docker.io/library/busybox → docker.m.daocloud.io/library/busybox前缀替换的规则是人工配置的所以项目文档明确推荐优先用加前缀的方式。支持的镜像仓库对照表源站替换为docker.iodocker.m.daocloud.iogcr.iogcr.m.daocloud.ioghcr.ioghcr.m.daocloud.iok8s.gcr.iok8s-gcr.m.daocloud.ioregistry.k8s.iok8s.m.daocloud.iomcr.microsoft.commcr.m.daocloud.io两个注意点k8s.gcr.io 已迁移到 registry.k8s.io仓库里仍保留了 k8s-gcr 对应域名另外每个源站的内容都不同不要把 docker.io 之外的站点配置进 Docker 的 registry-mirrors。Docker 全局加速配置想让所有拉取都走加速改一个文件就行。下面这段写进 /etc/docker/daemon.json然后重启 Docker{ registry-mirrors: [ https://docker.m.daocloud.io ] }systemctl restart docker之后拉 docker.io 的镜像会自动走加速路径命令行里的镜像名不用改。K8s 集群镜像替换kubeadm 建集群把 ClusterConfiguration 里的 imageRepository 换成加速域名coredns 地址同步换掉dns: imageRepository: k8s.m.daocloud.io/coredns imageRepository: k8s.m.daocloud.iokind 本地集群创建时直接指定加速后的节点镜像kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1已有集群仓库推荐部署 repimage 这个 Webhook不动 yaml、helm自动改写所有新建 Pod 的镜像地址kubectl create -f https://files.m.daocloud.io/github.com/wzshiming/repimage/releases/download/latest/repimage.yaml kubectl rollout status deployment/repimage -n kube-system内网进阶docker compose 起本地缓存纯内网或想减少外网依赖时可以起一个 registry 当缓存代理请求先打到本地miss 了再回源 m.daocloud.io。完整说明见 内网缓存文档精简版配置如下services: registry: image: m.daocloud.io/docker.io/library/registry:3 restart: unless-stopped ports: - 8888:8888 command: - /etc/docker/registry/config.yml volumes: - cache-data:/var/lib/registry configs: - source: registry-config target: /etc/docker/registry/config.yml configs: registry-config: content: | version: 0.1 storage: filesystem: rootdirectory: /var/lib/registry http: addr: :8888 proxy: remoteurl: https://m.daocloud.io ttl: 2160h volumes: cache-data: {}docker compose up -d启动后把内网地址加进客户端 daemon.json 的 insecure-registries以后拉取时把 m.daocloud.io/ 换成你的registry-ip:8888/就行。避坑提醒闲时拉取项目建议把拉取任务放在凌晨北京时间 01-07 点其他时间段非常拥挤。用固定 tag优先级是sha256:指定镜像其次明确版本号的 tag最后才是 latest。可变 tag 源站变更后要重新同步还会响应旧数据。缓存只保留 30 天过期内容回源重新同步偶尔第一次拉会慢属正常现象。盯同步状态同步队列保留一小时的同步记录配合服务状态监控页可以判断是卡在同步还是卡在网络。项目开源白名单与限流的公开细节可以看仓库代码git clone https://gitcode.com/GitHub_Trending/pu/public-image-mirror用法到这就齐了。下次拉取卡住时先给镜像地址加个前缀试试。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询