When working with Docker behind the Proxy firewall, docker is unable to communicate to public docker repo (dockerhub) to download or install any dependency for your docker scripts. This you can resolve by altering or creating few config files for docker. Let's see How --
1. In command line:
Use below environment variable in docker command as argument to enable proxy for it
# In Command Line:
--env HTTP_PROXY="http://<user>:<password>@<proxy_server>:<port>"
--env HTTPS_PROXY="http://<user>:<password>@<proxy_server>:<port>"
--env ALL_PROXY="http://<user>:<password>@<proxy_server>:<port>"
2. In Docker File:
You can add proxy setting in your docker file if don't have access to change at system level. Just add below line in your docker script.# In DockerFile
ENV HTTP_PROXY "http://<user>:<password>@<proxy_server>:<port>"
ENV HTTPS_PROXY "http://<user>:<password>@<proxy_server>:<port>"
ENV ALL_PROXY "http://<user>:<password>@<proxy_server>:<port>"
3. Using config.json (Client level) file:
Or you can create user level config file for docker environment if not exist. These settings will be available to your docker script by default until override by other means.# Create/Edit ~/.docker/config.json file (All below json in this file, create file if not exists)
{
"proxies":
{
"default":
{
"httpProxy": "http://<user>:<password>@<proxy_server>:<port>",
"httpsProxy": "http://<user>:<password>@<proxy_server>:<port>",
"allProxy": "http://<user>:<password>@<proxy_server>:<port>"
}
}
}
4. Using docker system level config change (Docker Server level):
You can change the docker server level proxy change to use it as below:# Altering Docker Syetem File (you have to be root user for this)
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf #(add below content to this file )
[Service]
Environment="HTTP_PROXY=http://<user>:<password>@<proxy_server>:<port>"
Environment="HTTPS_PROXY=http://<user>:<password>@<proxy_server>:<port>"
Environment="ALL_PROXY=http://<user>:<password>@<proxy_server>:<port>"
# now run below command to restart the docker daemon
sudo systemctl daemon-reload
sudo systemctl restart docker
# verify
sudo systemctl show --property=Environment docker
Facebook Page Facebook Group Twitter Feed Telegram Group