docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: TLS handshake

docker不能pull镜像,虚拟机也连不了网,好像是DNS server的问题

今天在docker pull的时候出现
docker: Error response from daemon: Get https://registry-1.docker.io/v2/prom/node-exporter/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Aprom%2Fnode-exporter%3Apull&service=registry.docker.io: dial tcp: lookup auth.docker.io on 114.114.114.114:53: read udp 192.168.10.124:52929->114.114.114.114:53: i/o timeout.
网上大多数的命令是

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

但是那样需要重启docker,所以
[root@master ~]# cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 114.114.114.114

解决办法:
添加DNS解析

echo "nameserver 114.114.114.114" >>/etc/resolv.conf 
echo "nameserver 8.8.8.8" >>/etc/resolv.conf 
echo "nameserver 8.8.4.4" >>/etc/resolv.conf 		#谷歌的dns域名解析地址

排查思路

yum install bind-utils -y
dig @114.114.114.114 registry-1.docker.io
# dig:该命令是用来灵活查询DNS的工具,与nslookup命令功能基本相同,但是dig命令灵活性好、易用、输出
@		指定进行域名解析的域名服务器
-b		使用指定的本机ip地址向域名服务器发送域名查询请求
-f		指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息
-p		指定域名服务器所使用端口号
-t		指定要查询的DNS数据类型(默认为A)
-x		执行逆向域名查询
-4		使用ipv4(默认)
-6		使用ipv6
-h		显示命令帮助信息
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; 全局选项:+ cmd
;; Got 回答:
;; ->>头部<<- opcode: 询问, status: NOERROR, id: 15151
;; flags: qr rd ra; QUERY: 1, 回答: 3, 当权者: 0, 另外的: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; 问题部分:
;registry-1.docker.io.          IN      A

;; 回答部分:
registry-1.docker.io.   36      IN      A       44.194.5.25
registry-1.docker.io.   36      IN      A       44.207.51.64
registry-1.docker.io.   36      IN      A       44.207.96.114

;; Query time: 25 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 四 7月 07 19:16:04 CST 2022
;; MSG SIZE  rcvd: 97

With the right goal direction, please do whatever it takes to achieve it, come on!

你可能感兴趣的:(Docker,docker,http,linux,运维,容器)