lookup registry-1.docker.io: no such host

后端 未结 7 599
旧巷少年郎
旧巷少年郎 2020-12-06 10:10

I have docker daemon running on my Ubuntu 16.4 server

my server details:

No LSB modules are available. Distributor ID: Ubuntu Description:

相关标签:
7条回答
  • 2020-12-06 10:17

    I solve the error changing DNS server by 8.8.8.8 - Ubuntu 18.04.3 LTS

    1- Open the Ubuntu System Settings and Navigate to Network

    2- Click the on the setting button next to the Network name in the list to which you are connected.

    3- New Window will open with a lot number of tabs, with one of them with the label of “IPv4”.

    4- Upon opening the “IPv4” Tab you will find a Field of “DNS”. Here you can write the DNS server

    If you want to use more than one DNS, then you can enter and separate them with a comma.

    0 讨论(0)
  • 2020-12-06 10:20

    Simplified detailed solution in case you are having this problem in windows is as below: right click on network open network and internet setting In advanced network setting, click on change adapter options right click on your network or wifi connection click on properties in Networking tab click on Internet protocal version 4 (TCP/IPv4) or ipv6 In general, click on use the following DNS server address and add 8.8.8.8 on preferred DNS server

    0 讨论(0)
  • 2020-12-06 10:21

    Go to Docker Settings -> Proxies -> Manual proxy configuration.

    Set the proxy details in the input and apply.

    Restart the docker. This will fix the issue.

    0 讨论(0)
  • 2020-12-06 10:23

    Things you can try:

    a) Add nameserver 8.8.8.8

    Method #1

    docker-machine ssh default
    sudo vi /etc/resolv.conf
    //change nameserver to 8.8.8.8
    

    Then restart the server using

    service docker restart
    

    Note: If you don't have docker-machine installed, you can follow instructions here to install it. It comes with Windows and Mac but is available for install on Linux manually.

    Method #2

    Edit /etc/docker/daemon.json Or "provide a JSON configuration in the preference panel" with the following information:

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

    Then restart the server using

    service docker restart
    

    b) Setup Proxy

    Method #1

    Edit your proxy configuration as Tarun Lalwani suggested.

    Edit /etc/default/docker and add:

    export http_proxy='http://username:password@proxy-host:proxy-port'
    export https_proxy='https://username:password@proxy-host:proxy-port'
    

    Then restart the server using

    service docker restart
    

    Method #2

    Source: https://github.com/moby/moby/issues/32270#issuecomment-340709035

    1. Create a systemd drop-in directory for the docker service:

      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
      
    2. Then add below content with proxy settings with it (Change to "HTTPS" for https)

      [Service]
      Environment="HTTP_PROXY=http://<allowed_proxy_ipv4_address>:<proxy_port_num>/"
      [Service]
      
    3. sudo systemctl daemon-reload

    4. sudo systemctl restart docker
    5. Verify that the configuration has been loaded: systemctl show --property=Environment docker

    c) Reinstall Docker

    Unfortunately the last resort, could work. Check out these github pages for more suggestions:

    • https://github.com/moby/moby/issues/32270
    • https://github.com/docker/for-mac/issues/1317

    For me, setting up the proxy using the systemctl method was the only thing that worked.

    0 讨论(0)
  • 2020-12-06 10:23

    I bumped into this error and was able to resolve by a simple restart:

    sudo service docker restart
    
    0 讨论(0)
  • 2020-12-06 10:27

    You need to set the proxy for Docker daemon also using environment variable. Docker run is also doing docker pull since the image doesn't exists. In your case the proxy is only applied to the docker run command, which delegates to the docker daemon which is running without proxy.

    Create a file named /etc/systemd/system/docker.service.d/10_docker_proxy.conf with below content

    [Service]
    Environment=HTTP_PROXY=http://1.1.1.1:111
    Environment=HTTPS_PROXY=http://1.1.1.1:111
    

    Make sure to update the proxy as per the ones you have 1.1.1.1:111 is just an example

    Then execute below commands to restart docker

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Now use your docker run command and it should work

    0 讨论(0)
提交回复
热议问题