docker报错Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifest

2022-06-12 19:48:17

今天在linux系统下学习Docker的时候出现了镜像下载报错的问题提示请求超时,查阅各种论坛没解决最终在IT界苏大强大牛的文章的帮助下才弄好,接下来给三种解决方案。第一种我用的是可以的,其他两个没用。做个笔记!!

主要原因

  1. 解析ip不可用
  2. 是因为dns域名没有解析的原因;

第一种原因解决方案(解析ip不可用)

第一种原因是因为docker解析的IP失效或者不能正常访问所引起的请求超时这个时候我们就想要去配置docker的解析ip
我们想要下载一个big命令如下:

yum install bind-utils

下载成功后使用查询可用big查询可用的ip:

dig @114.114.114.114 registry-1.docker.io

 结果这个时候就会出现很多的ip:

 从中我们选择一个ip就可以了,这里我们选择34.199.77.19(随机选择都可以用的)
然后在/etc/hosts目录下去修改docker.io的域名解析到其它可用IP
命令如下:

vi /etc/host

把我们刚刚的ip加进去:

34.199.77.19 registry-1.docker.io

 保存后重启下docker命令:

systemctl restart docker

再pull下载就ok了

第二种解决方案因为dns域名没有解析的原因

我出的问题就属于第二种问题,因为镜像是学习素材copy的所以没有考虑dns配置废话不多说来说说解决方案
docker pull 镜像时报错:

Error response from daemon: Get https://registry-1.docker.io/v2/library/nginx/manifests/1.14-alpine: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fnginx%3Apull&service=registry.docker.io: dial tcp: lookup auth.docker.io: no such host
这是一个请求头超时异常,说白了就是你的docker请求不到外网无法去docker官网下载镜像!!!
记住报错的结尾提示的是 no such host 这个异常是你的dns域名没有解析的原因所以我们对症下药
通过命令去我们linux的dns配置 文件

vi /etc/resolv.conf

新增谷歌的dns域名解析地址

nameserver 8.8.4.4

再配置一个默认解析地址(如果有请忽略)

å¨è¿éæå¥å¾çæè¿°

nameserver localdomain

 保存后重启下docker命令:

systemctl restart docker
  • 作者:DENG862304
  • 原文链接:https://blog.csdn.net/DENG8623048/article/details/118995303
    更新时间:2022-06-12 19:48:17