das
das

Reputation: 679

How to solve i/o timeout error in docker pull

When trying the command:

docker pull alpine

I am getting the following error

error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/e2/e21c333399e0aeedfd70e8827c9fba3f8e9b170ef8a48a29945eb7702bf6aa5f/data?Expires=1514733515&Signature=VxGVBTpdVnoFQYVSYjf-xOAYENczOPcAp7BZsxEZI6EyoiRgvKsOmxFkb7MgCMau~yVa59uHJcdq5KmCWKD6G3Cnsr2V2CdXrEIZ~P-Kt-74m8LKsjbTzw2yw~ABuLOs5c7OI9-2LFB5XOrFjgBaDUKPGDpyWsLMLz7QAh-vNrM_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: dial tcp 218.248.255.164:443: i/o timeout

The docker --version is 17.09.1-ce, build 19e2cf6. The docker-compose --version is 1.17.1, build 6d101fb. Trying these commands from OSX El Capitan.

It was suggested somewhere that changing the DNS server to public DNS would solve this that didn't work, either.

Upvotes: 20

Views: 114530

Answers (11)

Pierre-Gilles Levallois
Pierre-Gilles Levallois

Reputation: 4370

I had the same kind of error. is your docker host behind a firewall ? I had to authorize my docker host in output on all docker's domains and their 443 port.

Here are the domains I needed to authorize :

  • download.docker.com (Installing docker)
  • registry-1.docker.io
  • production.cloudflare.docker.com
  • index.docker.io

This is not an exhaustive list but this solved the problem :

 # docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
 # 

Upvotes: 1

Md. Shohag Mia
Md. Shohag Mia

Reputation: 374

I was getting timeout error and turning on my VPN resolves it. As I am not using any license, docker sometimes throttles PULL requests.

Upvotes: -1

omostan
omostan

Reputation: 881

I had the same problem and in my case, I was behind a firewall. I had to manually add the correct proxy URL to the proxy settings in Docker Desktop - Settings - Resources - Proxies

Upvotes: 0

Ravi Parekh
Ravi Parekh

Reputation: 5594

This is problem with resolving Host...

You need to enable through a configuration property experimentalHostResolver in %APPDATA%\rancher-desktop\settings.json. By default this property is set to false, meaning that the default DNS process in the rancher desktop will be handled through dnsmasq. However, if this property is set to true the default DNS lookup will switch to host-resolver.

NOTE: This feature can only be enabled for Windows currently and it is an experimental feature

You can take a look at the example settings.json file below as a reference:

   "kubernetes":{
      "experimentalHostResolver":true           <== This is the config!
   },

Reference

Upvotes: 1

Bart De Boeck
Bart De Boeck

Reputation: 806

Manually set your DNS in Docker Desktop - Settings - Resources - Network: Docker Desktop DNS Server settings

Upvotes: 1

P Z
P Z

Reputation: 1

For me, this was resolved by running

ping dseasb33srnrn.cloudfront.net

and then "docker pull ...".

Upvotes: -7

Venryx
Venryx

Reputation: 17999

What fixed it for me was simply:

  1. Fully shut down Docker Desktop. (right click tray icon, press Quit Docker Desktop, and wait until the icon is gone and the "WSL has been closed" message is shown)
  2. Start Docker Desktop again.

Upvotes: 21

Mohammed Noureldin
Mohammed Noureldin

Reputation: 16846

As discussed in the comments, you tried to ping the host dseasb33srnrn.cloudfront.net and it is not responding (it responds to my ping), which means the problem is in your system DNS settings, and not in Docker:

Please check the DNS settings in /etc/resolv.conf, if you do not sure what to do, just paste this text inside that file (and remove any other nameservers):

nameserver 8.8.8.8
nameserver 8.8.4.4

This should work, although it is not the optimal way, I will edit my answer to add the most elegant way when you try it.

Upvotes: 11

eegor jones
eegor jones

Reputation: 49

for me this was resolved by running sudo apt-get install docker-ce docker-ce-cli containerd.io. I guess I was missing some dependency.

Upvotes: -1

chenrui
chenrui

Reputation: 9866

Here is my setup:

$ docker --version
Docker version 17.11.0-ce, build 1caf76c

$ docker-machine --version
docker-machine version 0.13.0, build 9ba6da9

$ docker-compose --version
docker-compose version 1.18.0, build unknown

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.11.6
BuildVersion:   15G18013

And I have tried this, which is noted in here, which works perfectly fine for me.

docker-compose.yml:

version: "3"
services:
  server:
    build: .
    ports:
      - "5080:5080"
    volumes:
      - npm:/app
    networks:
      - npm
volumes:
  npm:
networks:
  npm:

Dockerfile:

FROM node:6
WORKDIR /app
RUN npm install -g local-npm
CMD ["local-npm"]

Also, this is my /etc/resolv.conf:

search fios-router.home
nameserver 192.168.1.1

Upvotes: -5

sanath meti
sanath meti

Reputation: 6537

Check for n/w configuration,

Add nameservers in /etc/resolve.conf with Google dns

nameserver 8.8.8.8

nameserver 8.8.4.4

Upvotes: -1

Related Questions