ABCD
ABCD

Reputation: 399

Configure Docker to use a proxy server

I have installed docker on windows , when I try to run hello-world for testing on docker. I get following error

Unable to find image

My computer is using proxy server for communication. I need to configure that server in the docker. I know proxy server address and port. Where I need to update this setting. I tried using https://docs.docker.com/network/proxy/#set-the-environment-variables-manually. It is not working.

Upvotes: 4

Views: 12621

Answers (4)

vvj
vvj

Reputation: 1

dockerd config-file : /etc/docker/daemon.json

{
  "proxies": {
    "http-proxy": "http://127.0.0.1:12333",
    "https-proxy": "http://127.0.0.1:12333",
    "no-proxy": ""
  }
}

Docker daemon configuration overview


Upvotes: 0

MiguelSlv
MiguelSlv

Reputation: 15113

I had the same problem on a windows server and solved the problem by setting the environment variable HTTP_PROXY on powershell:

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)

And then restarting docker:

Restart-Service docker

More information at Microsoft official proxy-configuration guide.

Note: The error returned when pulling image, with version 19.03.5, was connection refused.

Upvotes: 0

brian
brian

Reputation: 51

The answer of Alexandre Mélard at question Cannot download Docker images behind a proxy works, here is the simplified version:

  1. Find out the systemd script or init.d script path of the docker service by running:service docker status or systemctl status docker, for example in Ubuntu16.04 it's at /lib/systemd/system/docker.service
  2. Edit the script for example sudo vim /lib/systemd/system/docker.service by adding the following in the [Service] section:

     Environment="HTTP_PROXY=http://<proxy_host>:<port>"
     Environment="HTTPS_PROXY=http://<proxy_host>:<port>"
     Environment="NO_PROXY=<no_proxy_host_or_ip>,<e.g.:172.10.10.10>"
    
  3. Reload and restart the daemon: sudo systemctl daemon-reload && sudo systemctl restart docker or sudo service docker restart
  4. Verify: docker info | grep -i proxy should show something like:

    HTTP Proxy: http://10.10.10.10:3128
    HTTPS Proxy: http://10.10.10.10:3128
    
  5. This adds the proxy for docker pull, which is the problem of the question. If for running or building docker a proxy is needed, either configure ~/.docker/config as the official docs explained, or change Dockerfile so there is proxy inside the container.

Upvotes: 5

rajesh-nitc
rajesh-nitc

Reputation: 5539

Try setting the proxy. Right click on the docker icon in system tray, go to settings, proxy and add the below settings:

"HTTPS_PROXY=http://<username>:<password>@<host>:<port>"

If you are looking to set a proxy on Linux, see here

Upvotes: 2

Related Questions