连接到Docker集线器时出错

连接到Docker集线器时出错,docker,Docker,我已经创建了一个docker hub帐户,并尝试在其上连接以推送图像。我得到以下错误: >>>docker login -u <username> -p <password> Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout ex

我已经创建了一个docker hub帐户,并尝试在其上连接以推送图像。我得到以下错误:

>>>docker login -u <username> -p <password>

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
此外:

未给出结果(表示我没有代理设置??)


知道如何跨越这个问题吗?

我也有同样的问题,然后通过配置docker environment http_代理解决了这个问题,因为我支持一个公司代理:

将DNS服务器设置修改为8.8.8.8,并正常工作


此问题有时会在docker上随机出现:

如果出现此错误且未被代理阻止,请执行以下步骤:

  • 重新启动docker机器

    docker-machine restart default
    
  • 重置为默认环境

    eval $(docker-machine env default)
    

  • 如果您再试一次,您可能会发现一切正常。

    我也有同样的问题。我的解决方案是指定正确的存储库参数。我已经在hub.docker.com注册了。因此,我将其作为参数添加到docker login命令中:

    docker登录-u用户名-p密码hub.docker.com

    如果仍然存在错误,请使用以下命令检查代理是否存在网络问题:

    curl-I-x PROXY_USERID:PROXY_PASSWORD@YOUR_PROXY:代理_端口

    此外,我使用ip地址而不是主机名来指定我的代理以排除DNS错误

    如果curl出现错误,那么需要配置docker http_代理和https_代理。

    在我的例子中(Ubuntu 16.04,docker 18.01.0),我可以通过如下设置代理来解决

    $ sudo mkdir -p /etc/systemd/system/docker.service.d
    $ sudo vi /etc/systemd/system/docker.service.d/http_proxy.conf
    [Service]
    Environment="HTTP_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
    $ sudo vi /etc/systemd/system/docker.service.d/https_proxy.conf
    [Service]
    Environment="HTTPS_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker
    
    $sudo mkdir-p/etc/systemd/system/docker.service.d
    $sudo vi/etc/systemd/system/docker.service.d/http_proxy.conf
    [服务]
    Environment=“HTTP\u PROXY=HTTP://:”
    $sudo vi/etc/systemd/system/docker.service.d/https_proxy.conf
    [服务]
    Environment=“HTTPS\u PROXY=http://:”
    $sudo systemctl后台程序重新加载
    $sudo systemctl重新启动docker
    
    在Linux(Ubuntu)中

    • 编辑网络接口

      nano /etc/network/interfaces
      
    • 将dns名称服务器的某些ip地址替换为dns名称服务器8.8.8.8

      dns-nameservers 8.8.8.8
      
    • 重新启动网络

      sudo systemctl restart networking
      
    注意:如果google dns(dns名称服务器)为8.8.8.8 )无法使用开放式dns(dns名称服务器208.67.222.222)


    Mac High Sierra/Docker 18:


    在我的情况下,我必须注销我的Docker用户(直接在Docker菜单中)。

    Docker 18/Windows 10:


    在设置>网络>DNS服务器-选择固定并输入您的DNS服务器IP。

    对于win 10 pro,我遇到了同样的问题。在两次更改之后,我可以登录并提取图像

  • 如果要将windows用作容器。右键单击docker whale图标并->切换到windows容器
  • 如果您想使用Linux作为容器。(您的机器必须有一个 登录密码)

    • 右键单击docker whale图标并->切换到Linux容器

    • 转到设置单击共享驱动器并选择D或C或两者

    • 输入windows用户密码并保存更改


  • 我也遇到了同样的问题,我刚刚重新启动了docker服务,它对我来说运行良好

    $sudo服务docker重新启动


    $docker login

    在docker settings->Network中,我将DNS服务器设置切换为“Fixed”,如下面的屏幕截图所示,它成功了


    打开docker whale图标并重新启动docker。

    如果您使用的是Linux。您可以在
    /etc/resolv.conf
    中更改
    nameserver
    。 将名称服务器设置为
    8.8.8.8

    重新启动docker demon
    sudo systemctl restart docker

    我刚从Mac切换到corporate Windows 10机器,因此进入docker GUI并不明显,我必须展开carret(“^”),然后右键单击docker图标:

    我在右键单击菜单中选择了设置以打开Docker GUI。在Docker GUI中,我单击了代理并添加了我公司代理的(实际)地址:

    同样值得注意的是,我可以从这两个地方提取图像-因此我的config.json文件看起来(有些)像这样:

    {
      "auths": {
        "company.internal.rep.com:9000": {},
        "https://index.docker.io/v1/": {}
      },
      "HttpHeaders": {
        "User-Agent": "Docker-Client/18.09.2 (windows)"
      },
      "credsStore": "wincred"
    }
    

    我的设置中没有代理,因此通过简单的docker重启解决了这个问题。这可以通过cli或gui轻松完成

    在主机操作系统的网络配置中为docker适配器和DNS定义一个标准网关。这为我解决了问题。

    当您从守护进程
    错误响应时:
    尝试任何东西都是无用的。我不理解您的评论。你是什么意思?没有解决方案?您的
    docker登录失败,守护进程出现
    错误响应:…
    ,因此任何其他命令都将失败,因为您没有连接(a)您使用的是什么o.s.和什么docker版本?b) 你的docker日志文件是什么意思?c) 询问您的网络管理员是否需要一个代理来访问internet。一篇关于这个问题的文章使用Git bash在Windows中为我工作。谢谢仅仅做第一步似乎就解决了问题,非常感谢。花了三天时间才找到你的建议。工作起来很有魅力。谢谢
    dns-nameservers 8.8.8.8
    
    sudo systemctl restart networking
    
    {
      "auths": {
        "company.internal.rep.com:9000": {},
        "https://index.docker.io/v1/": {}
      },
      "HttpHeaders": {
        "User-Agent": "Docker-Client/18.09.2 (windows)"
      },
      "credsStore": "wincred"
    }