docker下载镜像出现Error response from daemon: Get https:///v2/library/nginx/manifests/1.14-alpine: Get https:///token?scope=repository%3Alibrary%2Fnginx%3Apull&service=registry.docker.异常
- 主要原因
- 第一种原因解决方案(解析ip不可用)
- 第二种解决方案因为dns域名没有解析的原因
今天在linux系统下学习Docker的时候出现了镜像下载报错的问题提示请求超时,查阅各种论坛没解决最终在一位大牛的帮助下才弄好,接下来给三种解决方案。
主要原因
- 解析ip不可用
- 是因为dns域名没有解析的原因;
第一种原因解决方案(解析ip不可用)
第一种原因是因为docker解析的IP失效或者不能正常访问所引起的请求超时这个时候我们就想要去配置docker的解析ip
我们想要下载一个big命令如下:
[root@wangqi]# yum install bind-utils
下载成功后使用查询可用big查询可用的ip:dig @114.114.114.114
这个时候就会出现很多的ip:
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> @114.114.114.114 ; (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:
;. IN A
;; ANSWER SECTION:
. 38 IN A 34.233.151.211
. 38 IN A 34.206.236.31
. 38 IN A 34.199.77.19
. 38 IN A 34.232.31.24
. 38 IN A 34.201.196.144
. 38 IN A 52.2.186.244
. 38 IN A 52.22.201.61
. 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
目录下去修改的域名解析到其它可用IP
命令如下:
vi /etc/host
把我们刚刚的ip加进去:
34.199.77.19
保存后重启下docker命令:
systemctl restart docker
再pull下载就ok了
第二种解决方案因为dns域名没有解析的原因
我出的问题就属于第二种问题,因为镜像是学习素材copy的所以没有考虑dns配置废话不多说来说说解决方案
docker pull 镜像时报错:
Error response from daemon: Get https:///v2/library/nginx/manifests/1.14-alpine: Get https:///token?scope=repository%3Alibrary%2Fnginx%3Apull&service=registry.: dial tcp: lookup : 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了
欢迎在下方留言,一起成长