Docker/Boot2Docker: Set HTTP/HTTPS proxies for docker on OS X

The config files you need to modify won’t be on your OS X file system, they’ll be attached to the Tiny Core Linux VM which acts as your local Docker server.

To configure the proxy for that, first start Boot2docker from Applications. Once it’s started, get a terminal window and ssh into the VM:

bash-3.2$ boot2docker ssh
Warning: Permanently added '[localhost]:2022' (RSA) to the list of known hosts.
                        ##        .
                  ## ## ##       ==
               ## ## ## ##      ===
           /""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
           \______ o          __/
             \    \        __/
              \____\______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
boot2docker: 1.0.1
             master : cad5ece - Fri Jun 20 02:03:40 UTC 2014
docker@boot2docker:~$

Now create/modify /var/lib/boot2docker/profile to set proxy info:

docker@boot2docker:~$ sudo vi /var/lib/boot2docker/profile 

Tinycore needs the proxy info as follows: protocol://ip:port
To be safe I set proxies for both HTTP and HTTPS.

export HTTP_PROXY=http://your.proxy.name:8080
export HTTPS_PROXY=http://your.proxy.name:8080

Now you can restart the VM docker service and exit the VM.

docker@boot2docker:~$ sudo /etc/init.d/docker restart
docker@boot2docker:~$ exit
Connection to localhost closed.

You should be able to run the client against the VM instance now.

bash-3.2$ docker search ubuntu
NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                                           Official Ubuntu base image                      356                  
stackbrew/ubuntu                                 Official Ubuntu base image                      39                   
crashsystems/gitlab-docker                       A trusted, regularly updated build of GitL...

This change is persisted through VM restarts. You should only need to do it once.

For the record, VirtualBox has a global preference setting for proxies but nothing I tried there would work.

Leave a Comment

tech