一招快速解决docker镜像无法拉取问题!
视频教程:https://www.bilibili.com/video/BV1Em421L7xQ/?vd_source=5a71f90f8c8c05a865a050fec3bd6c8e
风险提示:
1. 本方案依旧是Docker仓库提供部署软件,水哥今天的测试方式只是在群晖nas上测试成功。软件的具体功能和注意事项大家还是详见软件的具体使用规则。
2. 本文仅代表作者自己的观点。使用第三方解决方案并非是非官方的正式方案,可能产生相关风险,由此带来的一切后果请各位自行斟酌。
食用方法
这里再次感谢大佬的项目,此方案需要用到github上一个大佬的名为public-image-mirror的项目。此项目是通过同步镜像将其临时存放于国内,以实现下载和加速镜像的过程。
github项目页
在这里,你有两种选择:直接使用作者搭建好的服务,或者自行部署服务器。个人强烈推荐直接使用作者提供的服务,既方便又省事。同步方式:我们提供两种同步方式供您选择:单次单镜像同步和懒加载。第一种方式不会同步镜像的tag标签,也就是说,如果你只同步了某个tag标签,那么就只能拉取该tag标签的镜像。而懒加载则会同步上游的所有tag标签,当然,同步速度会稍慢一些。因此,作者也强烈建议使用单次单镜像同步,以确保您获得最快的下载速度和最高的效率。
使用方法也非常简单,只需按照以下步骤操作:点击单次镜像同步说明中的蓝色字体:镜像同步lssue模版 跳转到 Issue 提交界面。根据作者提供的模版,修改模版中的镜像名称。提交后,即可自动收到镜像同步的回复。你也可以通过详情查看同步进度。我这里以小雅alist为例提交的同步,
提交同步image
镜像开始同步
提交镜像名称后点击同步详情查看,会看到镜像同步的时间,如果镜像相对较大可能同步比较慢,但基本上几分钟的时间完全可以搞定!下图可以看到我同步小雅alist仅仅用了29秒
同步成功
同步完成后如果我们再使用Docker pull在终端拉取镜像,此时需要在原来的地址钱添加前缀,需要注意的是,不同的镜像源有不同的前缀,大家自行根据镜像的镜像源输入正确的前缀即可,此方法也适用于docker-compose中。
前缀地址
接下来我就远程连接我的群晖来测试下小雅alist的拉取,这样的话,通过自定义拉取就就可以很方便的实现加速镜像下载的功能。
镜像拉取命令
原来的拉取命令是:
同步完成后我使用的拉取命令:
执行命令后,很快就能看到镜像拉取成功
我打开自己的群晖后,在docker镜像中也能看到xiaoyaalist已经拉取成功了
这里需要特别注意的是,每次你提交的镜像同步完成之后,只会作为临时使用!系大佬的镜像库会在七天左右清理掉拉取量低于100的镜像!大家可通过这个网站查询目前已经同步过的镜像,以便节省大佬的资源和带宽!
查询网址:https://mirrors.kb.cx
水哥闲聊
估计这两天很多搞开发的小伙伴都懵逼了,水哥在这里觉得大家完全不必有任何担忧!只要合理合法的去使用,解决方案还是挺多的。虽说目前docker官方还没有正式的解决方案,但是相信各个nas服务商都会有相应的解决方案!说句题外话,这次docker事故我的群晖nas并没有出现任何问题,依旧用的爽爽的,你们的呢?大家可以私信讨论!
最后再说上两句
镜像库无法下载的问题,大家用我这个方案大概率是没有问题的,public-image-mirror能有效解决项目下载以及速度问题,如果想要更稳妥一点的小伙伴,也可以选择自己部署一下服务,甚至再稳妥的方案你可以直接部署自己的私有镜像库,以从根本上解决问题所在!