来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:在192.168.65.1:53上拨打tcp:lookup registry-1.docker.io:没有这样的主机

时间:2017-11-30 18:44:08

标签: docker docker-machine docker-registry

我是码头工人的新手。当我运行docker pull sonarqube时,我收到以下错误。

来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:在192.168.65.1:53上拨打TCP:查找registry-1.docker.io:没有这样的主机

您能否告诉我为什么会收到错误?如何纠正错误。

19 个答案:

答案 0 :(得分:10)

我可以通过运行以下命令来解决。

sudo systemctl restart docker

答案 1 :(得分:6)

在Mac上,仅重启docker-machine即可完成工作:

docker-machine restart

卸载docker无法正常工作!只需执行上述重启即可!

答案 2 :(得分:4)

我遇到了同样的问题,对我来说,我是在我的办公室代理后面,而码头工人则没有拿起终端的代理集。为了解决这个问题,我必须在docker settings窗口中设置代理,可以从

访问

任务栏->泊坞窗->设置 enter image description here

答案 3 :(得分:3)

我在Ubuntu 16.04上有类似的问题 并通过添加更多nameservers

来解决该问题

您也可以尝试。

  1. 打开配置文件sudo nano /etc/resolv.conf并在现有名称服务器下添加以下内容

    nameserver 8.8.8.8

    nameserver 8.8.4.4

  2. 运行以下命令以重新启动守护程序和docker服务

    sudo systemctl daemon-reload

    sudo systemctl restart docker

现在尝试拉出您想要的图像docker pull sonarqube

答案 4 :(得分:2)

在 Windows 中,只需重新启动 docker,它对我有用。 转到 Docker 桌面仪表板,单击带有设置图标的图标,然后单击重新启动

答案 5 :(得分:1)

我能够通过登录docker解决这个问题。

sudo docker login
Enter your login credentials 
sudo docker pull 'yourImageName'

答案 6 :(得分:1)

我刚刚重新启动,它又能正常工作!

答案 7 :(得分:1)

确保您的服务器不在以下区域:

Docker is a US company, we must comply with US export control regulations. In an 
effort to comply with these, we now block all IP addresses that are located in Cuba, 
Iran, North Korea, Republic of Crimea, Sudan, and Syria.

答案 8 :(得分:0)

禁用实验功能并重试即可。 否则将下面的配置添加到 daemon.json

"dns": [
    "8.8.8.8",
    "8.8.4.4"
  ]

答案 9 :(得分:0)

我遇到了同样的错误,我通过执行下面提到的命令解决了它,如果您使用的是 windows 版本,您可以尝试这些命令 要遵循的步骤:打开命令提示符并执行这些命令,

set http_proxy="http://user:pwd@proxyurl.com:port"

set https_proxy="https://user:pwd@proxy-url.com:port"

答案 10 :(得分:0)

它也发生在您也没有登录时,发生在我身上。登录后问题消失了

答案 11 :(得分:0)

这很可能是DNS问题。更改名称服务器很可能会解决此问题。

您可以使用curl -vvv https://registry-1.docker.io/v2/来验证问题,以获取更详细的路径。

如果您使用的是ubuntu 18.04或更高版本,/etc/resolve.conf将无法解决问题,那么他们会将网络管理移至NetPlan配置。

将google名称服务器添加到您的配置(8.8.8.8和8.8.4.4)

使用ip a

查找网络适配器名称
network:
  version: 2
  renderer: NetworkManager
  ethernets:
      [network adapter name]:
              addresses: ...
              gateway4: ...
              nameservers:
                      addresses:
                              - 8.8.8.8
                              - 8.8.4.4
                      search: []

并运行sudo netplan apply

答案 12 :(得分:0)

有同样的问题,我重新启动了docker并成功了

答案 13 :(得分:0)

可能有用的东西: 1.检查您的代理设置 2.重新启动docker 3.转到您的docker设置,检查您是否已登录docker hub,如果尚未登录,请登录并重试(这对我有用)

答案 14 :(得分:0)

您需要在终端写入中添加到 / etc / hosts

$ sudo nano / etc / hosts

添加以下行并保存,尝试运行命令,它将正常工作

<h2>
    {{$flight_book_details['seat_quantity']}}
</h2>

答案 15 :(得分:0)

我遇到了同样的错误。尝试了一些事情,例如重新启动服务器,检查配置等... 最后,通过添加代理来解决该问题(因为我在组织网络中使用了它)

答案 16 :(得分:0)

在中国,将114.114.114.114添加到resolv.conf中对其进行了修复。 sudo echo“ nameserver 114.114.114.114” >> /etc/resolv.conf

答案 17 :(得分:0)

@Dao
interface TestDao {
    @Query("SELECT foo.id as foo_id,bar.id as bar_id,bar.bar as bar_bar FROM foo, bar JOIN state ON foo_id = state.foo_id and bar_id = state.bar_id")
    fun getFooBar(): LiveData<FooBar>
}

然后将名称服务器更改为sudo vi /etc/resolv.conf

答案 18 :(得分:0)

如果您的计算机位于大中华地区或使用相关的虚拟服务器,请添加Registry Mirrors以帮助您绕过复杂的网络路由器。

或者您可以为docker配置设置http_proxy,引用此链接:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy