Sometimes Docker users are unable to download Docker images behind a proxy due to issues with the Docker proxy settings.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to resolve such Docker-related issues while troubleshooting Docker issues.
In this context, we shall look into method to fix this Docker error.
We had a customer who installed Docker on his Ubuntu server. Then he tried running the below command:
$ sudo docker pull busyboxAs a result, he received the below error:
Pulling repository busybox
2021/03/16 09:37:07 Get https://index.docker.io/v1/repositories/busybox/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: no answer from serverIn order to resolve this problem, we first create a systemd drop-in directory for the Docker service by running the below command.
$ mkdir /etc/systemd/system/docker.service.dNext, we create a file called /etc/systemd/system/docker.service.d/http-proxy.conf that adds the HTTP_PROXY environment variable:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"Note: In case, if you have internal Docker registries that you need to contact without proxying you can specify them via the NO_PROXY environment variable:
Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"After that, we flush the changes by running the below command:
$ sudo systemctl daemon-reloadThen we verify if the configuration is loaded or not. For that, we run the below command:
$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/Finally, we restart the Docker by running the below command:
$ sudo systemctl restart dockerFinally, this fixed the Docker error.
This article covers the error, Cannot download Docker images behind a proxy.
You can fix this docker issue by doing the following:
1. In the file /etc/default/docker, add the line:
export http_proxy='http://<host>:<port>'2. Restart Docker:
$ sudo service docker restartAlso, you can Follow the steps given below to fix this docker error:
1. Create a systemd drop-in directory for the docker service:
$ mkdir /etc/systemd/system/docker.service.d2. Create a file called /etc/systemd/system/docker.service.d/http-proxy.conf and add the HTTP_PROXY env variable:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"3. If you have internal Docker registries that you need to contact without proxying you can specify them via the NO_PROXY environment variable:
Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"4. Flush changes:
$ sudo systemctl daemon-reload5. Verify that the configuration has been loaded:
$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/6. Restart Docker:
$ sudo systemctl restart docker