【持续更新...】Docker封禁:国内可用docker镜像源

就在六月初,因为政策问题,导致国内的 Docker Hub 镜像加速器相继停止服务。导致开发、测试和部署工作严重受阻,许多高校的镜像缓存服务也相继停止。

其实最近一季度我都没怎么使用docker,或者说我没有在云上拉取过images(本地拉取都是挂着梯子,基本不会受阻),所以就没有什么问题。但是前些天看到一个项目,想在云服务器上试着部署一下,结果镜像拉取失败了。
这大概就是使用国内服务器的一些不足之处吧,国内云服务器带宽给的也很吝啬。。。如果有条件的同学,想玩玩docker的,建议大家还是用非大陆的服务器吧。

没办法,只能上网查找目前可用的镜像站点,在这里做一个分享,并定期在这里做一个更新。

以下几个镜像源还是能够使用(目前是2024.11.03)

1
2
3
4
5
6
7
8
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}

顺便增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训)。

总的json配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}

可以直接使用命令进行输入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
EOF

配置完成,重启一下daemon和docker:

1
2
sudo systemctl daemon-reload		#重启daemon进程
sudo systemctl restart docker #重启docker

这里提一嘴,阿里云的镜像源尽量不要使用了,好像2022年就不再更新了,镜像确实不够新,尤其是不热门的项目更甚。

找镜像站应该是第一反应,但是目前已知且测试的情况来看,有很多问题。比如,幸存的镜像一般都会有限流限制速和白名单的存在,导致其镜像不全(尤其是个人用户创建的公开镜像)且下载速度比较慢。还有就是安全问题了,很难保证所使用的镜像服务是安全可信的。

其中,atomhub 所属于开放原子开源基金会,是国内多个大公司成立的非营利机构,标榜的就是 镜像来源安全可信,但目前只有 336 个镜像可以下载和使用。然后,1panel 所属于飞致云,商业容器相关的公司,该站点主要是给 1Panel 产品使用的,目前只有 143 个镜像可以下载和使用。最后,daocloud 所属于道客,也是一家商业容器相关的公司,收录的镜像目前有 596 个,且可要随时提 PR,增加更多的镜像地址。
可以发现上面的镜像站就是这几个。

最后的最后,就是如果你有能力、精力,也可以自建镜像站点,我嫌麻烦。