Ubuntu 查找注册表-1.docker.io:没有这样的主机

Ubuntu 查找注册表-1.docker.io:没有这样的主机,ubuntu,docker,Ubuntu,Docker,我的Ubuntu 16.4服务器上运行docker守护程序 我的服务器详细信息: 没有可用的LSB模块。分发服务器ID:Ubuntu 描述:Ubuntu 17.04发行版:17.04代码名:zesty 我收到以下错误: aa@aaa-VirtualBox:/etc/default$ docker run hello-world Unable to find image 'hello-world:latest' locally docker: Error response from daemon:

我的Ubuntu 16.4服务器上运行docker守护程序

我的服务器详细信息:

没有可用的LSB模块。分发服务器ID:Ubuntu 描述:Ubuntu 17.04发行版:17.04代码名:zesty

我收到以下错误:

aa@aaa-VirtualBox:/etc/default$ docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such host.
See 'docker run --help'.
我设置了http_代理和https_代理,因为我在公司代理/防火墙后面


有什么线索可以帮助我解决这个问题吗?

您需要同时使用环境变量为Docker daemon设置代理。Docker run也在执行Docker pull,因为映像不存在。在您的情况下,代理仅应用于docker run命令,该命令将委托给在没有代理的情况下运行的docker守护程序

创建一个名为
/etc/systemd/system/docker.service.d/10\u docker\u proxy.conf的文件,其中包含以下内容

[Service]
Environment=HTTP_PROXY=http://1.1.1.1:111
Environment=HTTPS_PROXY=http://1.1.1.1:111
请确保按照您的
1.1.1.1:111更新代理,这只是一个示例

然后执行以下命令重新启动docker

sudo systemctl daemon-reload
sudo systemctl restart docker
现在使用docker run命令,它应该可以运行,您可以尝试以下操作:

a) 添加名称服务器8.8.8.8 方法#1 然后使用重新启动服务器

service docker restart
service docker restart
service docker restart
注意:如果您没有安装docker机器,可以按照说明进行安装。它随Windows和Mac一起提供,但可在Linux上手动安装

方法#2 或提供以下信息:

{ "dns" : [ "8.8.8.8", "8.8.4.4" ]}
然后使用重新启动服务器

service docker restart
service docker restart
service docker restart
b) 安装代理 方法#1 按照Tarun Lalwani的建议编辑代理配置

编辑
/etc/default/docker
并添加:

export http_proxy='http://username:password@proxy-host:proxy-port'
export https_proxy='https://username:password@proxy-host:proxy-port'
然后使用重新启动服务器

service docker restart
service docker restart
service docker restart
方法#2 资料来源:

  • 为docker服务创建systemd drop-in目录:

    mkdir -p /etc/systemd/system/docker.service.d
    # For HTTP Proxy:
    vim /etc/systemd/system/docker.service.d/http-proxy.conf
    # For HTTPS Proxy:
    vim /etc/systemd/system/docker.service.d/https-proxy.conf
    
  • 然后添加以下带有代理设置的内容(对于HTTPS,更改为“HTTPS”)

    [服务]
    Environment=“HTTP\u PROXY=HTTP://

  • 对我来说,使用systemctl方法设置代理是唯一有效的方法。

    我通过8.8.8.8-Ubuntu 18.04.3 LTS解决了更改DNS服务器的错误

    1-打开Ubuntu系统设置并导航到网络

    2-单击所连接列表中网络名称旁边的设置按钮

    3-新窗口将打开许多选项卡,其中一个标签为“IPv4”

    4-打开“IPv4”选项卡时,您将发现一个“DNS”字段。您可以在这里写入DNS服务器


    如果要使用多个DNS,则可以输入并用逗号分隔它们。

    转到Docker Settings->proxy->Manual proxy configuration

    在输入中设置代理详细信息并应用

    重新启动docker。这将解决此问题


    将Docker配置为在引导时启动

    sudo systemctl enable docker
    

    我遇到了这个错误,只需重新启动即可解决:

    sudo service docker restart
    

    如果您在windows中遇到此问题,简化的详细解决方案如下: 右击网络 开放网络与互联网环境 在高级网络设置中,单击更改适配器选项 右键单击网络或wifi连接 点击属性 在“网络”选项卡中,单击Internet协议版本4(TCP/IPv4)或ipv6
    一般来说,单击使用以下DNS服务器地址并在首选DNS服务器上添加8.8.8.8

    curl ipinfo.io
    这对您有效吗?@TarunLalwani是的,我得到了响应您是否也为docker守护程序配置设置了代理?或者仅使用导出变量?我在这里发布了一个相同的答案最终这是有效的,但不确定为什么不行他的解决方案()不起作用。@Tarun Lalwani,你能看看我这里的问题吗:。我不知道我的windows PC上docker.service.d的完整路径。谢谢。在我的情况下,docker工作正常,突然出现了这个错误。用
    sudo systemctl restart docker
    简单地重新启动即可修复。我有windows 7和两个物理接口(其中一个没有互联网接入),方法1a在这种情况下起作用。/etc/resolv.conf使用nameserver 8.8.8.8,然后dockerd重启