当前位置:   article > 正文

解决群晖NAS无法拉取docker镜像问题_群晖docker无法拉取镜像

群晖docker无法拉取镜像

一、问题描述

        由于群晖的docker故障,直接在群晖NAS的docker面板上是无法直接查询到需要的docker镜像内容,我们需要通过SSH连接到群晖使用docker命令进行拉取镜像使用,如下图所示:

        注意:若要通过SSH连接群晖NAS则需要检查群晖NAS的SSH是否启用,若没有启用则需要勾选启用,否则无法连接,如下图所示:

        在2024-06-01日以前,使用SSH登录后是可以直接拉取docker镜像的;但是之后当我们使用SSH登录上群晖NAS,使用【sudo -i】切换到超管拉取镜像会提示报错【error pulling image configuration: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/cf/cff6b68a194a672fd337d8728bfb252071012cce6f0f2ed760988f7bc63a89d2/data?verify=1718090409-0EkmLisDaR3HibNZ79qo%2F9ghPbU%3D": dial tcp [2a03:2880:f10a:83:face:b00c:0:25de]:443: i/o timeout】如下图所示:

在Windows中通过Putty连接Linux、通过pscp传输文件到Linuxicon-default.png?t=N7T8https://blog.csdn.net/xiaochenXIHUA/article/details/118067326?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171808970316800182771998%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171808970316800182771998&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-118067326-null-null.nonecase&utm_term=SSH&spm=1018.2226.3001.4450

二、问题分析

        通过拉取镜像的错误信息可以知道是由于IO超时导致无法拉取;也就是说目前群晖自带的docker镜像地址应该是失效了【我们可以通过给群晖NAS的docker配置文件配置上对应的docker镜像地址;然后重启docker就可以了】。

三、解决方法

3.1、查看群晖NAS的docker配置文件

  1. # 编辑群晖NAS的docker配置文件
  2. vi /var/packages/Docker/etc/dockerd.json

 群晖NAS的docker默认配置文件是没有docker镜像地址的,如下图所示:

3.2、获取docker镜像地址

国内docker镜像地址列表
序号docker镜像名称是否可用docker镜像地址
1申请自己的阿里云镜像可用这是申请阿里云docker镜像的地址【容器镜像服务 (aliyun.com)
2中科院软件所镜像站可用https://mirror.iscas.ac.cn
3微软云暂不可用https://dockerhub.azk8s.com
4网易暂不可用https://hub-mirror.c.163.com/
5腾讯云暂不可用 https://mirror.ccs.tencentyun.com/
6上海交通大学暂不可用https://mirror.sjtu.edu.cn/docs/docker-registry
7南京大学暂不可用https://docker.nju.edu.cn
8DaoCloud可用不稳定https://docker.m.daocloud.io
9docker代理暂不可用https://dockerproxy.com

 

3.3、配置群晖NAS的镜像地址

我这里使用【自己的阿里云】和中【科院软件所】这2个可用的docker镜像地址:

1、编辑群晖NAS的docker配置文件【vi /var/packages/Docker/etc/dockerd.json

2、打开群晖NAS的docker配置文件后按下键盘的【i】键移动光标编辑,如下图所示:

3、按下键盘的【ESC】键退出文件编辑模式,然后输入英文【:wq!】强制保存退出命令后按下Enter键即可;

  1. {
  2. "data-root" : "/var/packages/Docker/target/docker",
  3. "log-driver" : "db",
  4. "registry-mirrors" : ["https://mirror.iscas.ac.cn/"],
  5. "storage-driver" : "btrfs"
  6. }

4、配置完成docker的配置文件后可以查看一下当前群晖的docker信息,如下图所示:

docker info

3.4、 重启群晖docker

建议直接在群晖NAS的web管理界面进行重启docker,具体操作如下:

1、打开docker管理界面,将所有的容器内容停止

        注意:有一些docker内容是无法直接在docker管理界面停止的,docker界面也会弹出对应的提示,此时我们只需要打开【套件中心】,搜索对应的程序,然后点击对应程序的【停止】按钮等待停止完成即可。 

 2、等所有的容器内容停止完成后,在打开【套件中心】-->搜索docker后点击【停用】,如下图所示:

 

3、等docker停用后稍等1分钟后再点击【启动】,如下图所示:

也可以直接使用命令重启群晖NAS的docker(不建议)

synoservice --restart pkgctl-Docker

3.5、测试配置的docker镜像加速地址是否有用

我这里使用拉取postgres数据库测试,拉取命令如下:

docker pull postgres

拉取后的效果如下:

最后使用SSH操作完成后,为了安全起见,需要将群晖NAS的SSH关闭掉:

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号