近日,国内大量Docker镜像源宣布关停,本文简单记录几种解决此问题的思路。

替代镜像源

境内替代镜像源

目前,境内还能使用的镜像源最正规且不会轻易关闭的应该就是AtomHub了,但是上面的镜像很少,连基础镜像都不全,期待有朝一日能完善起来,及时同步国外镜像源。

官网链接:

https://hub.atomgit.com/repos

其它还能用的镜像个人就没收集了,毕竟后文有更优的解决办法。

自建替代镜像源

基于自己此前已拉取的镜像和通过其它方法获取到的镜像,可以部署自己的镜像源服务,不失为一种持久发展的好方法,但作为应急,对于我们这种非专业人士恐怕需要废点时间精力,故本文暂不讨论。

直连DockerHub

我想,直接连接Docker Hub相比上述两种方法能尽可能地保持更新,获取尽可能全的镜像,以下两种思路均可实现。

科学上网

我这里的Docker镜像使用需求最高的就是NAS了,而正如https://peterzhong1219.site/archives/private-network-topology-with-nas-and-cpe一文所述,目前NAS接在CPE下,因此我在CPE上部署了OpenClash进行了DNS劫持,而在NAS上不需要过多设置,只需要连上CPE就可以实现直连Docker Hub拉取镜像了。

镜像打包

NAS或服务器上由于各种原因,有时候可能不方便直接进行科学上网,因此如果NAS与PC架构相同,可以在PC端挂梯子,访问docker hub拉取镜像,随后通过以下命令打包为tar包并上传到NAS

例如:如需安装著名的DDNS工具lucky

先拉取镜像

docker pull lucky:latest

然后打包为tar文件

docker save lucky:latest -o lucky.tar

将该tar包上传到NAS后,部分NAS系统可以直接在GUI管理界面选择tar包进行导入,或者通过以下命令导入

docker load -i lucky.tar