Petit tips du jour qui pourra sauver l'après midi de certains...
The Place beyond the Proxy
Certains utilisateurs de Docker sont bien cachés derrière un proxy d'entreprise ou autre méchanceté du genre. Docker permet d'utiliser notamment les variables d'environnement http_proxy
et https_proxy
(capacité directement hérité des librairies Go).
Sous CoreOS, on peut aussi renseigner une bonne fois pour toutes les informations de connexion au proxy dans un fichier de configuration et... ne plus y penser. Joie!
Let's do this !
Commencons par créer ou éditer la configuration du unit Docker de systemd :
$ sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
On y rentre les variables d'environnement qui nous intéressent
[Service] Environment="HTTP_PROXY=http://[user]:[password]@[hostname]:[port]" "NO_PROXY=localhost,127.0.0.0/8,172.17.0.0/16,.sock"
Le ".sock" vous évitera quelques maux de cranes (le client Docker sera ainsi capable de contacter le démon via le socket Unix).
On demande à systemd de prendre en compte nos modificatrions sur l'Unit Docker :
$ sudo systemctl daemon-reload
On redémarre ensuite le service Docker :
$ sudo systemctl restart docker
That's it, un petit test rapide : docker pull busybox
vous confirmera que Docker peut bien récupérer les images à travers votre proxy !