docker拉取镜像时报错:docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp:

Posted 王祺灏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker拉取镜像时报错:docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp:相关的知识,希望对你有一定的参考价值。

完整报错信息:

docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: dial tcp: lookup registry-1.docker.io on 192. 168.100.2:53: server misbehaving.

翻译

守护程序的错误响应:Get“https://registry-1.docker.io/v2/“:在192.168.100.2:53上拨打tcp:lookup registry-1.docker.io:服务器错误


曾经拉取镜像时遇到相似的问题:

  1. 在拉取私有镜像或者上传镜像前需要docker login输入您的凭证信息

Error response from daemon: repository does not exist or may require ‘docker login’

  1. 拉取镜像超时

Error response from daemon:Get https://registry-1.docker.io/v2/…handshake timeout

再次尝试以上两种解决方法均无效


尝试解决:

(1)重启一下docker试试

systemctl restart docker

无效

(2)查看是否为网络问题

网络正常

(3)从网络中搜索大佬类似问题解决方案

他的报错信息与我类似
但是他的信息中,ip后面显示没有这个主机(no such host)
看看他的解决方法:

我和他一样报错信息中也出现了并不存在的 ip
尝试一下他的解决方法:


解决方案

(1)查看DNS客户机的配置文件

cat /etc/resolv.conf


出现了报错信息中的ip
猜测应该是这个DNS服务器出现了问题

(2)修改文件

vim /etc/resolv.conf

注释掉:nameserver 192.168.100.2
新增DNS:nameserver 114.114.114.114 nameserver 8.8.8.8

(3)重新拉取镜像试试

docker pull ubuntu


拉取成功,问题解决!


补充知识:

/etc/resolv.conf是DNS客户机的配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式比较简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。

resolv.conf的关键字主要有4个

nameserver:定义DNS服务器的IP地址
domain:定义本地域名
search:定义域名的搜索列表
sortlist:对返回的域名进行排序
注意:这里最主要的就是nameserver关键字,如果没有指定nameserver就找不到DNS服务,其它关键字是可选的。

1)nameserver:表示域名解析时,使用该地址指定的主机为域名服务器,其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
2)domain:声明主机的域名,很多程序会用到,如邮件系统。当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点(.)前面的内容。
3)search:它的多个参数指明域名查询顺序,当要查询没有域名的主机,主机将在由search声明的域中分别查找。
注意:search和domain不能共存,如果同时存在,后面出现的将会被使用。
4)sortlist:运行将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。

以上是关于docker拉取镜像时报错:docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp:的主要内容,如果未能解决你的问题,请参考以下文章

docker镜像拉取失败

docker 更换国内镜像仓库

docker pull下载镜像时的报错及其解决方法

docker删除镜像时报错解决办法

使用新版Golang1.18多段构建制作docker镜像的踩坑经历

docker拉取镜像失败,提示端口错误