Docker login: Dial tcp: lookup index.docker.io read udp i/o timeout

Expected behavior

docker login should succeed

Actual behavior

docker login fails with the following message:
Error response from daemon: Get https://index.docker.io/v1/users/: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:58812->192.168.65.1:53: i/o timeout

Information

The problem has persisted across several tests:

  • restarting Docker for Mac
  • restarting my host machine
  • deleting and re-adding my Wi-Fi network

It has occurred trying to docker login to both Docker Hub and AWS Elastic Container Registry.

It may be an issue with Docker.app: version: v1.11.1-beta14.5.m which I just installed today. I hadn’t tried to docker login in several days prior so I’m not sure whether the issue started with this beta version.

I can say that I’ve successfully used docker login, docker pull, and docker push many times in the past using docker-machine with VirtualBox. Just unsure about previous behavior with the native beta.

$ pinata diagnose -u
OS X: version 10.11.5 (build: 15F34)
Docker.app: version: v1.11.1-beta14.5.m
Running diagnostic tests:
[OK]      docker-cli
[OK]      Moby booted
[OK]      driver.amd64-linux
[OK]      vmnetd
[OK]      osxfs
[OK]      db
[OK]      slirp
[OK]      menubar
[OK]      environment
[OK]      Docker
[OK]      VT-x
Docker logs are being collected into /tmp/20160607-110936.tar.gz
Most specific failure is: No error was detected
Your unique id is: 6DC4D23A-C120-4BAA-A11F-00EE029D7766
Please quote this in all correspondence.

Steps to reproduce the behavior

$ docker login
# enter username and password
Error response from daemon: Get https://index.docker.io/v1/users/: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:58812->192.168.65.1:53: i/o timeout

and

$ aws ecr get-login
docker login -u AWS -p <long secret token> -e none https://<account id>.dkr.ecr.us-east-1.amazonaws.com
# run the command printed above
Error response from daemon: Get https://<account id>.dkr.ecr.us-east-1.amazonaws.com/v1/users/: dial tcp: lookup <account id>.dkr.ecr.us-east-1.amazonaws.com on 192.168.65.1:53: read udp 192.168.65.2:54372->192.168.65.1:53: i/o timeout
2 Likes

I was able to fix this by using the “Reset to factory defaults” function within Settings.

That meant deleting my local images in Docker for Mac. Naturally I couldn’t push them beforehand since docker login did not work. Fortunately I was able to back them up using docker save from Docker for Mac and then docker load from my Docker Toolbox installation.

This helped: http://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-via-repository

Having the same problem in windows docker
Docker version 1.12.0-rc2, build 906eacd, experimental

Error response from daemon: Get https://index.docker.io/v1/users/: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:49836->192.168.65.1:53: i/o timeout

1 Like

Same issue here as @dmikov, but with a private registry. Any advice?

2 Likes

+1 having this issue as well, with Docker for Mac 1.12.0-rc2. I have reset to factory default as well, still no dice.

1 Like

+1 Same issue with private registry

Update^

works for me!

2 Likes

Same here with Docker for Mac Version 1.12.0-rc2-beta16 (build: 9493). Reset does not help.

1 Like

Having a similar issue also on Version 1.12.0-rc2-beta16 (build: 9493)

$ docker pull alpine
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/library/alpine/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Falpine%3Apull&service=registry.docker.io: dial tcp: lookup auth.docker.io on 192.168.65.1:53: no such host

1 Like

There are at least two threads (including this one):

edit:
I can login to AWS ECR and pull images, but not the docker registry.

I have similar issue with Docker for mac. My diagnostic ID: E439CFAC-9936-4585-B8EB-7AB6E9CEA652

Previously I had working docker-machine with virtualbox. But I uninstalled everything(deleting every image/container) and removed any bashrc and /etc/hosts/ changes.

I have a wifi connection, if that info helps.

Version Version 1.12.0-rc2-beta16 (build: 9493)
f615be9fb245904fbdf1aa0cad251d418c869428

I believe I’ve tracked this down to truncated DNS responses from upstream DNS causing Docker’s embedded DNS server to fail since it seem to be listening via TCP:

2 Likes

Same issue (I use internal bind DNS). Is there a place to open a bug for this, if not already?

$ dig auth.docker.io | head -n2
;; Truncated, retrying in TCP mode.

$ dig auth.docker.io @8.8.8.8 | head -n2
; <<>> DiG 9.8.3-P1 <<>> auth.docker.io @8.8.8.8

Diagnostic ID: 08466D37-2F75-4FBA-9D4D-6DF461FA8960

1 Like

FYI I just restarted the bind daemon and oddly it now returns a DNS response small enough not to be truncated into TCP mode, which fixed docker as well.

+1 on this issue.
I restarted which didn’t clear the issue - oddly I disabled my wireless and forced my wired network connection, restarted and the log in went through and I was able to push my image to Docker Hub.

Here’s the issue on Github – it’s been identified and possibly fixed but not released.

1 Like

what solved it for me is adding an A record for index.docker.io in my hosts file, e.g.:

52.200.132.201 index.docker.io

then it started working.

1 Like

Thanks, it works well on my Docker on Windows Server 2016.

The problem solved by reset the docker settings to factory defaults. Thanks @skarger

1 Like

What is the IP - 52.200.132.201? That of the Registry?

I tried all of the above and nothing worked, running win 10
but i found it!

for my work i need a socks client (opentext socks) to connect to our virtual environment
this application interfered with the network connections docker tried to establish, after disabling the socks client all went well !

regards JW