Docker容器拉取不了的原因及解决Docker容器国内无法下载的方法

       这两天有网友反馈:群晖的ContainerManager无论是在套件界面安装容器还是使用docker pull命令拉取容器均拉取失败,昨晚看到了这条消息。

 

 

 

       这是没有添加镜像服务器之前,下载容器进度会一直显示0%;

 

 

       过几分钟就会提示:无法下载映像;

 


       现阶段,想解决Docker国内无法访问的办法,主要有两种:

一、第一种:挂代理

如果你使用的网络环境有代理服务器(科学出国环境),可以参考【这个教程】进行设置。

 

二、如果你使用的网络环境没有代理服务器(科学出国环境),可以使用“第二种:添加镜像服务器”的办法(两种添加添加镜像服务器的方法,任意选择一个来做就行了):

A、添加镜像服务器的方法一

1、打开ContainerManager,注册表,设置;

 

 

2、编辑;

 

 

3、勾选“启用注册表镜像”,新增;

 

 

4、把以下镜像服务器的地址复制粘贴进去,可只写一个,也可以全部都加上:

https://docker.m.daocloud.io
https://docker.registry.cyou
https://docker-cf.registry.cyou
https://dockercf.jsdelivr.fyi
https://docker.jsdelivr.fyi
https://dockertest.jsdelivr.fyi
https://huecker.io
https://dockerhub.timeweb.cloud
https://noohub.ru

 

 

 

 

B、添加镜像服务器的方法二

1、打开群晖控制面板,任务计划,新增,触发的任务,用户定义的脚本;

 

 

2、在“常规”标签中,任务名称写ContainerManager,用户账号需要改成root,“已启动”处不用打勾;

 

 

3、在“任务设置”标签中,把下面的内容复制到用户定义的脚本中(原理是给当前群晖ContainerManager套件添加四个docker镜像服务器地址,这四个服务器均架设在俄罗斯),确定;

synopkgctl stop ContainerManager
cp -f /var/packages/ContainerManager/etc/dockerd.json /var/packages/ContainerManager/etc/dockerd.json.bak
sed -i 's|\[\]|["https://docker.m.daocloud.io","https://huecker.io","https://dockerhub.timeweb.cloud", "https://noohub.ru"]|g' /var/packages/ContainerManager/etc/dockerd.json
synopkgctl start ContainerManager

 

 

 

4、确定;

 

 

5、输入群晖当前登录的管理员账号密码,提交;

 

 

6、找到刚才保存的“ContainerManager”任务计划,点鼠标右键,运行;

 

 

7、确定;

 

 

8、运行这个任务的时候,ContainerManager套件会自动停止,然后过几秒钟ContainerManager套件会自动重新启用,当看到ContainerManager套件恢复启用的时候,把任务计划中的“ContainerManager”点鼠标右键,删除;

 

 

9、确定;

 

 


三、使用的效果

1、到注册表重新下载docker容器试试,发现已经可以正常下载了,只不过下载速度有点慢,耐心等待即可;

 

 

2、看到消息,已经提示下载成功了。

 

 

 

四、其他说明

1、上述添加镜像服务器的办法在群晖DSM7.21系统中测试成功;

2、如果你用的是这个系统,可以自行在你的系统中添加镜像服务器,镜像服务器地址是:

https://docker.m.daocloud.io
https://docker.registry.cyou
https://docker-cf.registry.cyou
https://dockercf.jsdelivr.fyi
https://docker.jsdelivr.fyi
https://dockertest.jsdelivr.fyi
https://huecker.io
https://dockerhub.timeweb.cloud
https://noohub.ru

3、除了群晖支持以外,理论上所有使用docker的环境,包括不仅于:群晖、威联通、Linux等等。

 

 


2024年6月16日更新:

有条件的可以自行搭建专属的docker加速工具,具体请参考《利用CloudFlare搭建一个专属自己的Docker镜像加速和代理工具》。

点赞
  1. 啤酒屋说道:
    Google Chrome Windows 10
    https://docker.nju.edu.cn https://registry.cn-hangzhou https://docker.m.daocloud.io 我用的是这几个,也能拉取了
  2. 小白说道:
    Google Chrome Windows 10
    对了,全功能版-20240531-openwrt-x64-R24.5.1.img.gz下载的这个包
  3. 小白说道:
    Google Chrome Windows 10
    大佬,您好,我昨天下载了你的全能版x86openwrt,用U盘启动一台旧笔记本电脑,但系统无法识别到我的网卡,请问不重新编译的情况下这个网卡驱动怎么解决呢?网卡在win里显示是Realtek PCle FE Family Controller,详细里显示8136具体型号我不能确定。
    1. 博主说道:
      Google Chrome Windows 10
      不要用U盘启动openwrt,你试一下用硬盘启动看看。
      1. 小白说道:
        Google Chrome Windows 10
        好的,谢谢,我试试
      2. 小白说道:
        Google Chrome Windows 10
        对了,我用U盘插到另一台更新的笔记本电脑上是可以识别到网卡的,我现在不知道如何让笔记本装上一个win10和openwrt双系统。
        1. 博主说道:
          Google Chrome Windows 10
          如果你要用Win,可以在Win里面用VMware虚拟机装OP
          1. 小白说道:
            Google Chrome Windows 10
            弄好了,后面下载了一个高大全的固件就支持了,下的还是2022的老版本,我没有高大全的新版本网盘链接。谢谢大佬。

发表回复