Votre société de services en logiciels libres

Configurer un proxy pour le démon dockerd

3 septembre 2019   

Si le démon dockerd possède 3 variables d’environnement pour sa configuration de proxy (HTTP_PROXY, HTTPS_PROXY et NOPROXY), l’accès à une Registry externe (celle du Hub de Docker par exemple) se fait forcément en HTTPS… et c’est là que les petits problèmes commencent…

Pour configurer les variables d’environnement avec un démon géré par systemd, créez le répertoire /etc/systemd/system/docker.service.d puis ajoutez le fichier proxy.conf contenant la définition des variables d’environnement. Par exemple :

[Service]
Environment="HTTP_PROXY=http://mon_proxy:3128"
Environment="HTTPS_PROXY=http://mon_proxy:3129"
Environment="NO_PROXY=localhost,127.0.0.1,172.17.0.1,172.30.1.1"

Puis exécutez les commandes suivantes :

# systemctl dameon-reload
# systemctl restart docker

et un petit test….

$ docker search ubuntu

Attention :

  • si votre proxy utilise un certificat auto-signé, vous devrez rajouter l’option suivante dans la configuration du démon
--insecure-registry proxy:port
  • si votre proxy utilise un certificat signé par une CA, exécutez les commandes suivantes :
$ sudo cp mon_cert.crt /etc/pki/ca-trust/source/anchors
$ sudo update-ca-trust extract