The other day I had to install Docker at work, aka behind a corporate proxy (on Windows 8).

While the docker installer is stand-alone and all is good, dealing with the VM is a different matter... The problem popped up when I tried to create a Django image and pip install failed miserably. To get around, you need to create a docker machine:

docker-machine create -d virtualbox \
    --engine-env HTTP_PROXY=http://example.com:8080 \
    --engine-env HTTPS_PROXY=https://example.com:8080 \
    --engine-env NO_PROXY=example2.com \
    default

You also need to pass in the proxy as a build argument to build:

docker build --build-arg https_proxy="http://example.com:8080"

You can also pass the build argument to docker-compose but, in this case, you need to specify the services.

Update

To make my life easier, I've built an alias for my bash command line:

alias docker_build="docker build \
--build-arg http_proxy=$http_proxy \
--build-arg https_proxy=$https_proxy \
--build-arg no_proxy=$no_proxy \
--build-arg HTTP_PROXY=$http_proxy \
--build-arg HTTPS_PROXY=$https_proxy \
--build-arg NO_PROXY=$no_proxy"

where $..._proxy are my environment variables.

Note: I've noticed it works also if you have a user/password-type proxy authentication. In this case, your environment variable:

http_proxy=http://user:[email protected]:8080/

would also be OK.

HTH,