docker拉取镜像时报错:Error response from daemon: Get “https://registry-1.docker.io/v2/”: dial tcp: lookup registry-1.docker.io on xxx: read udp xxxx->xxx: i/
报错信息:
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on xxx: read udp xxxx->xxx: i/
尝试解决:
重新启动docker,无法解决
systemctl restart docker
解决方案:
1.查看dns客户机的配置文件
cat /etc/resolv.conf
会发现出现了报错中的ip,基本确定问题出在dns解析上
打开之后会发现有个202.103.24.68,这个是本地dns服务器
2.修改文件
vim /etc/resolv.conf
将原有的nameserver 202.103.24.68注释掉,加上下面这两句
nameserver 114.114.114.114
nameserver 8.8.8.8
8.8.8.8是谷歌的dns服务器
114.114.114.114是全球通用的dns服务器
成功解决
相关知识
/etc/resolv.conf是DNS客户机的配置文件,用于设置DNS服务器的ip地址以及DNS域名,还包含了主机的域名搜索顺序。
关键字
nameserver:定义DNS服务器的IP地址
domain:定义本地域名
search:定义域名的搜索列表
sortlist:对返回的域名进行排序
注意:这里最主要的就是nameserver关键字,如果没有指定nameserver就找不到DNS服务,其它关键字是可选的。