public-image-mirror
Sync: 是 tag 的同步率 只要 tag 存在就是同步的
Deep sync: 是 tag 内容同步率 (如 latest 这种 tag 会更新, tag 存在并不一定是最新的, 在这属于未同步)
每天大约同步 1k 的 tag
支持懒加载, 就算不在同步列表中也能直接拉取, 初次拉取会比已经同步过的慢一些, 并且每 7 天会清理一次缓存
如果只是临时使用的就不需要往同步列表里加了
背景
很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。
目标
- 一个简洁有效的方法能够加速这些包。简洁的名称映射
- 易于添加,添加新的包,不需要去修改代码。
- 稳定可靠,更新实时。每天检查同步情况。
快速开始
docker run -d -P m.daocloud.io/docker.io/library/nginx
支持的镜像
如果想要新增, 提 PR 修改即可。例如 PR#1, 并请在 PR 提交前排序: ./hack/fmt.sh mirror.txt
使用方法
添加一级域名
增加前缀 (推荐方式)。比如:
k8s.gcr.io/coredns/coredns => m.daocloud.io/k8s.gcr.io/coredns/coredns
或者 支持的镜像仓库 的 前缀替换 就可以使用。比如:
k8s.gcr.io/coredns/coredns => k8s-gcr.m.daocloud.io/coredns/coredns
提前同步的 Registry
用于 github action 从源 registry 提前同步到 m.daocloud.io 下
如果想要新增, 提 PR 修改即可。例如 PR#28, 并请在 PR 提交前排序:./hack/fmt.sh domain.txt
支持前缀替换的 Registry
前缀替换的 Registry 的规则
如有新增, 提 PR 修改下面的表格, 合并后由人工配置
源站 | 替换为 |
---|---|
cr.l5d.io | l5d.m.daocloud.io |
docker.elastic.co | elastic.m.daocloud.io |
docker.io | docker.m.daocloud.io |
gcr.io | gcr.m.daocloud.io |
ghcr.io | ghcr.m.daocloud.io |
k8s.gcr.io | k8s-gcr.m.daocloud.io |
registry.k8s.io | k8s.m.daocloud.io |
mcr.microsoft.com | mcr.m.daocloud.io |
nvcr.io | nvcr.m.daocloud.io |
quay.io | quay.m.daocloud.io |
registry.jujucharms.com | jujucharms.m.daocloud.io |
rocks.canonical.com | rocks-canonical.m.daocloud.io |
最佳实践
- 通过 加速 安装 kubeadm
kubeadm config images pull --image-repository k8s-gcr.m.daocloud.io
- 通过 加速 安装 kind
kind create cluster --name kind --image docker.m.daocloud.io/kindest/node:v1.22.1
- 通过 加速 部署 应用(这里以 Ingress 为例)
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 -
- Docker 加速
添加到 /etc/docker/daemon.json
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
[友情链接]加速三剑客
- 镜像加速:https://github.com/DaoCloud/public-image-mirror
- 二进制文件加速:https://github.com/DaoCloud/public-binary-files-mirror
- Helm 加速:https://github.com/DaoCloud/public-helm-charts-mirror
贡献者
Made with contrib.rocks.