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

docker下载镜像出现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.异常

今天在linux系统下学习Docker的时候出现了镜像下载报错的问题提示请求超时,查阅各种论坛没解决最终在一位大牛的帮助下才弄好,接下来给三种解决方案。

主要原因

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

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

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

[root@wangqi]# yum install bind-utils

下载成功后使用查询可用big查询可用的ip:
dig @114.114.114.114 registry-1.docker.io
这个时候就会出现很多的ip:

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64159
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;registry-1.docker.io. IN A
;; ANSWER SECTION:
registry-1.docker.io. 38 IN A 34.233.151.211
registry-1.docker.io. 38 IN A 34.206.236.31
registry-1.docker.io. 38 IN A 34.199.77.19
registry-1.docker.io. 38 IN A 34.232.31.24
registry-1.docker.io. 38 IN A 34.201.196.144
registry-1.docker.io. 38 IN A 52.2.186.244
registry-1.docker.io. 38 IN A 52.22.201.61
registry-1.docker.io. 38 IN A 34.228.211.243
;; Query time: 23 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Wed Aug 07 04:47:30 EDT 2019
;; MSG SIZE rcvd: 177

从中我们选择一个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

重新去下载你需要的镜像就ok了
欢迎在下方留言,一起成长

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值