在云计算和云原生的环境下, 不可避免的会使用很多镜像创建容器. 在 Docker Hub 上有类似 mysql 这种 Docker 官方镜像 也有 portainer/portainer-ce 这种已验证发布者镜像 还有 mcr.microsoft.com/mssql/server这种 赞助 OSS 镜像.

前两种镜像在拉取时都会向 docker.io 这个域名请求镜像目前个人使用感觉国内访问速度还可以不需要使用加速服务, 但是类似于mcr.microsoft.com,gcr.io,k8s.gcr.io,quay.io 等第三方提供存储服务的拉取镜像时会访问他们自己搭建的存储网站. 由于一些原因国内基本无法访问… 下面是我整理的一些面向这种 赞助 OSS镜像国内提供的加速服务, 持续更新.

镜像加速使用说明

!!!特别注意在使用 Docker 尽量不要使用例如阿里云提供的这种镜像加速器添加/etc/docker/daemon.json 文件的方法如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

这种镜像添加之后你所使用的 Docker 实例在拉取镜像时无论是 Docker 官方镜像 还是 已验证发布者 都会只访问这个mirror所镜像的版本. 而镜像的同步往往是有延迟的. 这会带来一个问题如拉取mysql镜像无论是官方的提示代码docker pull mysql, 还是在docker-compose.yml 文件中编写 image: mysql 还是某些带alpine标签的它都会默认拉取 latest标签的镜像. 当你在官网上查询到比如 mysql 几天前才更新过, 但是如果你在镜像中拉取latest,alpine 等不带版本号的. 也许你会得到一个两年前的latest

原因其实很简单, 解决办法就是每个镜像都添加一个版本号就可以了. 但… 个人经验就是不要使用这种加速方式. 而且在拉取镜像时尽量填写每一个容器的版本号. 尽量少的使用latest,alpine等简化标签. 在容器部署时注意软件版本的统一性.

主流可用 Docker 镜像加速站列表汇总

以下是我自己整理的一些平时常用的镜像加速及所支持加速的仓库列表和使用说明的汇总, 不定时更新.

DaoCloud

DaoCloud Mirror 官网 | DaoCloud Mirror 仓库

使用方法

  • 增加前缀 (推荐方式). 比如:
1
2
k8s.gcr.io/coredns/coredns => m.daocloud.io/k8s.gcr.io/coredns/coredns 

  • 支持镜像仓库的前缀替换. 比如:
1
2
k8s.gcr.io/coredns/coredns => k8s-gcr.m.daocloud.io/coredns/coredns

源站替换为
cr.l5d.iol5d.m.daocloud.io
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.io
registry.k8s.iok8s.m.daocloud.io
mcr.microsoft.commcr.m.daocloud.io
nvcr.ionvcr.m.daocloud.io
quay.ioquay.m.daocloud.io
registry.jujucharms.comjujucharms.m.daocloud.io
rocks.canonical.comrocks-canonical.m.daocloud.io

DaoCloud 更推荐第一种添加前缀的方法

南京大学镜像

南京大学镜像 官网 | 南京大学镜像 GCR 文档 | 通知文章 2022-03-25

镜像仓库的前缀替换. 比如:

1
2
gcr.io/cadvisor/cadvisor:v0.39.3 => gcr.nju.edu.cn/cadvisor/cadvisor:v0.39.3

源站替换为
gcr.iogcr.nju.edu.cn
k8s.gcr.iogcr.nju.edu.cn/google-containers
ghcr.ioghcr.nju.edu.cn
nvcr.ionvcr.nju.edu.cn
quay.ioquay.nju.edu.cn
registry.k8s.iok8s.mirror.nju.edu.cn

总结

目前只使用找到了这些站点, 有些以前使用的, 貌似因为带宽的问题不提供对外使用了. 暂时只收集到这么多, 以后有使用再收集更新~