Home

Awesome

public-image-mirror

背景 & 目标

很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。

快速开始

docker run -d -P m.daocloud.io/docker.io/library/nginx

使用方法

增加前缀 (推荐方式)。比如:

              docker.io/library/busybox
                 |
                 V
m.daocloud.io/docker.io/library/busybox

或者 支持的镜像仓库 的 前缀替换 就可以使用。比如:

           docker.io/library/busybox
             |
             V
docker.m.daocloud.io/library/busybox

单次单镜像同步

!!!!!!!!!!!!!!!!!!!!!!!!强烈推荐!!!!!!!!!!!!!!!!!!!!!!!!

您可以根据 镜像同步 Issue 模板 创建一个 Issue, 将会有机器人帮您优先主动同步指定的镜像

原先已经在下的镜像还是会继续走原来的, 需要重启 docker 再重新拉取才能走已经同步好的缓存过, 所以推荐先单次同步再尝试拉取 对于 latest 这种经常内容会发生变更的 tag 变更后会需要重新同步

懒加载

仅推荐用于小于 20MiB 的镜像 这条通道主要用于保持 image 是最新的, 每次拉取都会检查是否和上游保持同步

如果您看到下没有进度这是由于带宽有限只要有几人在下较大的文件就会阻塞后续的下载, 可以尝试单次单镜像同步

就算没同步也能 直接拉取, 初次拉取会比已经同步过的慢.

定期同步列表 (不推荐)

已经太大了, 不再支持添加, 请使用单次单镜像同步

mirror.txt

支持前缀替换的 Registry (不推荐)

推荐使用添加前缀的方式.

前缀替换的 Registry 的规则, 这是人工配置的, 有需求提 Issue.

源站替换为备注
docker.elastic.coelastic.m.daocloud.io
docker.iodocker.m.daocloud.io
gcr.iogcr.m.daocloud.io
ghcr.ioghcr.m.daocloud.io
k8s.gcr.iok8s-gcr.m.daocloud.iok8s.gcr.io 已被迁移到 registry.k8s.io
registry.k8s.iok8s.m.daocloud.io
mcr.microsoft.commcr.m.daocloud.io
nvcr.ionvcr.m.daocloud.io
quay.ioquay.m.daocloud.io

最佳实践

kubeadm config images pull --image-repository k8s-gcr.m.daocloud.io
kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1
wget -O image-filter.sh https://github.com/DaoCloud/public-image-mirror/raw/main/hack/image-filter.sh && chmod +x image-filter.sh

wget -O deploy.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/baremetal/deploy.yaml

cat ./deploy.yaml | ./image-filter.sh | kubectl apply -f -

添加到 /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io"
  ]
}

[友情链接]加速三剑客

贡献者

<a href="https://github.com/DaoCloud/public-image-mirror/graphs/contributors"> <img src="https://contrib.rocks/image?repo=DaoCloud/public-image-mirror" /> </a>

Made with contrib.rocks.