13
2024
06
16:17:01

一招快速解决docker镜像无法拉取问题!

突发情况,国内的 Docker 镜像全军覆没了。据传连 NPM 镜像也要没了!

SJTUG(上海交通大学 Linux 用户组)昨日发布公告:

“即时起中止对 Docker Hub 仓库的镜像。Docker 相关工具默认会自动处理失效镜像的回退,如果对官方源有访问困难问题,建议尝试使用其他仍在服务的镜像源。”


 

Docker Hub 是 Docker 容器镜像的官方存储库,提供给开发者用于上传 / 下载容器镜像。


如果你重度使用 Docker,请及时更换 Docker Hub 镜像,以免出现无法正常下载、更新的情况。


上海交通大学开源镜像站长期以来为国内用户提供 Docker Hub 仓库的镜像服务,帮助国内用户和开发者们快速下载镜像并获取更新。


如果你曾经在自己的服务器上配置了上海交大镜像站的 Docker Hub 镜像地址,建议及时切换。



尽管该镜像站失效后 Docker 会自动回退并使用可用的源,但 Docker Hub 官方源在国内的连接速度非常慢甚至无法正常下载,因此建议用户尽早切换为其他镜像站地址保持稳定连接。


 


众所周知,由于某些原因, Docker 官方源很早之前就被官方封禁了。国内拉取 Docker 镜像必须依赖国内镜像源:比如网易、中科大、阿里等。但最近部分国内用户遇到了无法拉取 Docker 镜像的问题,即使换了国内源也会拉取失败。而且这一切发生得静悄悄,在本文发布前,除上交大的中文主页门户网站信息外,没有任何相关公告。

在水哥发文时,国内其他几个大的镜像源也全部已经无法访问了,包含阿里、科大、网易、腾讯、中科大等已经全部已经无法访问了


 

 


另外,根据小道消息,后续包括 Github CDN 镜像,NPM,Python PIP,OpenWrt OPKG 等未受内容审查的镜像服务器同样也会被下架(npm和pip真的要我命) ,以后国内开发者想拉取镜像服务大概率只能挂代理了。

由于此次事件比较敏感,我这里也不会提供解决方案!需要使用docker服务的小伙伴可以自己去搜索引擎寻求解决方案!


 

原各大国内镜像地址(已失效)

Docker官方镜像加速器(中国区)

  • 地址https://registry.docker-cn.com

网易云镜像加速器

  • 地址http://hub-mirror.c.163.com

科大讯飞开源镜像加速器

  • 地址https://docker.mirrors.ustc.edu.cn

Azure 中国镜像加速器

  • 地址https://dockerhub.azk8s.cn

腾讯云公共镜像库

  • 地址https://mirror.ccs.tencentyun.com

阿里云公共镜像加速器

  • 地址https://registry.cn-hangzhou.aliyuncs.com

中国科学技术大学镜像加速器

  • 地址https://docker.mirrors.ustc.edu.cn

百度的Docker Hub加速器

https://mirror.baidubce.com/

BTW,去年 5 月份也有网友反馈 Docker Hub (https://hub.docker.com/)
无法正常访问。

当时网友反馈称,Docker Hub 在国内疑似出现访问异常,Ping 检测显示该域名被返回各种不是来自 Docker 官方服务器的 IP,因此无法正常访问。



风险提示:

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 pull docker.io/xiaoyaliu/alist:latest


同步完成后我使用的拉取命令:


docker pull m.daocloud.io/docker.io/xiaoyaliu/alist:latest


执行命令后,很快就能看到镜像拉取成功

我打开自己的群晖后,在docker镜像中也能看到xiaoyaalist已经拉取成功了

这里需要特别注意的是,每次你提交的镜像同步完成之后,只会作为临时使用!系大佬的镜像库会在七天左右清理掉拉取量低于100的镜像!大家可通过这个网站查询目前已经同步过的镜像,以便节省大佬的资源和带宽!

查询网址:https://mirrors.kb.cx

估计这两天很多搞开发的小伙伴都懵逼了,水哥在这里觉得大家完全不必有任何担忧!只要合理合法的去使用,解决方案还是挺多的。虽说目前docker官方还没有正式的解决方案,但是相信各个nas服务商都会有相应的解决方案!说句题外话,这次docker事故我的群晖nas并没有出现任何问题,依旧用的爽爽的,你们的呢?大家可以私信讨论!

镜像库无法下载的问题,大家用我这个方案大概率是没有问题的,public-image-mirror能有效解决项目下载以及速度问题,如果想要更稳妥一点的小伙伴,也可以选择自己部署一下服务,甚至再稳妥的方案你可以直接部署自己的私有镜像库,以从根本上解决问题所在!




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/6616.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: