Search code examples
proxydockerfirewallhttp-proxy

Pull docker image behind a corporate firewall throws "Server error: Status 0 while fetching image layer"


I can't download images behind the corporate firewall.

This post helped me to fix the no address associated with hostname error. I use Cntlm for proxy user authentication.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily

$ docker -v
Docker version 1.9.1, build a34a1d5

$ sudo docker search ubuntu
Error response from daemon: Get https://index.docker.io/v1/search?q=ubuntu: dial tcp: lookup index.docker.io: No address associated with hostname
$ sudo mv /tmp/http-proxy.conf /etc/systemd/system/docker.service.d/http-proxy.conf
$ cat /etc/systemd/system/docker.service.d/http-proxy.conf 
[Service]
Environment="HTTP_PROXY=http://localhost:3128/"

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ sudo docker search ubuntu | sed -e 1b -e '$!d'
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
esycat/ubuntu                     Ubuntu LTS                                      0                    [OK]

The pull request interacts with the server, finds the endpoint and fails with: Server error: Status 0 while fetching image layer.

$ sudo docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu

fcee8bcfe180: Pulling fs layer 
4cdc0cbc1936: Pulling fs layer 
d9e545b90db8: Pulling fs layer 
c4bea91afef3: Pulling fs layer 
Pulling repository docker.io/library/ubuntu
af88597ec24b: Pulling image (latest) from docker.io/library/ubuntu, endpoint: https://registry-1.docker.iaf88597ec24b: Error pulling image (latest) from docker.io/library/ubuntu, endpoint: https://registry-1.docker.io/v1/, Server error: Status 0 while fetching image layer (895b070402bd7d26d9595e939422c598e8cc1f4adaf88597ec24b: Error pulling image (latest) from docker.io/library/ubuntu, Server error: Status 0 while fetching image layer (895b070402bd7d26d9595e939422c598e8cc1f4ade1b34e2a9659138ffe3c5c9) 

Error pulling image (latest) from docker.io/library/ubuntu, Server error: Status 0 while fetching image layer (895b070402bd7d26d9595e939422c598e8cc1f4ade1b34e2a9659138ffe3c5c9)

Any idea why the pull request fails? Does a pull request use a different port and/or protocol? Is something missing in my configuration file?


Solution

  • In the last days, I figured out that Server error: Status 0 while fetching image layer is a generic error message for any kind of network issues. It can point to an incorrect DNS server or missing SSL certificates.

    I solved it by updating all SSL certificates with latest and restarting docker.