1、软件包
文章所需软件包下载方式
2、简介
今天在linux系统下学习Docker的时候出现了镜像下载报错的问题提示请求超时,查阅各种论坛没解决最终在一位大牛的帮助下才弄好,接下来给三种解决方案。
[root@jky-de1 ~]# docker pull registry.cn-shanghai.aliyuncs.com/bot-test/health-bot-chat
Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifest
3、主要原因
解析ip不可用
dns域名没有解析
4、解决方案(一)
第一种原因是因为docker解析的IP失效或者不能正常访问所引起的请求超时这个时候我们就想要去配置docker的解析ip我们想要下载一个big命令如下:
[root@jky-de1 ~]# yum install bind-utils下载成功后使用查询可用big查询可用的ip:
[root@jky-de1 ~]# dig @114.114.114.114 registry-1.docker.io
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3627
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A
;; ANSWER SECTION:
registry-1.docker.io. 53 IN A 34.238.187.50
registry-1.docker.io. 53 IN A 3.224.96.239
registry-1.docker.io. 53 IN A 34.197.211.151
registry-1.docker.io. 53 IN A 54.85.56.253
registry-1.docker.io. 53 IN A 35.175.91.243
registry-1.docker.io. 53 IN A 34.231.251.252
registry-1.docker.io. 53 IN A 3.213.204.48
registry-1.docker.io. 53 IN A 54.161.109.204
;; Query time: 26 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 五 8月 27 15:20:55 CST 2021
;; MSG SIZE rcvd: 177
从中我们选择一个ip就可以了,这里我们选择34.197.211.151(随机选择都可以用的)然后在 /etc/hosts
目录下去修改docker.io的域名解析到其它可用IP
[root@jky-de1 ~]# vim etc/hosts
34.197.211.151 registry-1.docker.io
保存后重启下docker命令
[root@jky-de1 ~]# systemctl restart docker再pull下载就ok了
[root@jky-de1 ~]# docker pull registry.cn-shanghai.aliyuncs.com/bot-test/health-bot-chat5、解决方案(二)
因为dns域名没有解析的原因,我出的问题就属于第二种问题,因为镜像是学习素材copy的所以没有考虑dns配置废话不多说来说说解决方案docker pull 镜像时报错:
[root@jky-de1 ~]# docker pull registry.cn-shanghai.aliyuncs.com/bot-test/health-bot-chat
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配置 文件
[root@jky-de1 ~]# vi etc/resolv.conf #新增谷歌的dns域名解析地址
nameserver 8.8.4.4
nameserver localdomain #再配置一个默认解析地址(如果有请忽略)
保存后重启下docker命令
[root@jky-de1 ~]# systemctl restart docker重新去下载你需要的镜像就ok了
[root@jky-de1 ~]# docker pull registry.cn-shanghai.aliyuncs.com/bot-test/health-bot-chat欢迎大家扫码关注:

本公众号只写原创,不接广告、不接广告、不接广告。下期小伙伴想学习什么技术,可以私信发我吆。

文章转载自IT运维大爆炸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




