Comment puis-je laisser tous mes conteneurs docker utiliser mon proxy?
J'exécute docker sur Debian Jessie qui est derrière un proxy d'entreprise. Pour pouvoir télécharger des images docker, je dois ajouter ce qui suit à mon /etc/defaults/docker
http_proxy="http://localhost:3128/"
Je peux confirmer que cela fonctionne.
Cependant, pour pouvoir accéder à l'interwebz depuis mon conteneur, je dois démarrer toutes les sessions avec --net host
, puis configurer ces variables env:
export http_proxy=http://localhost:3128/
export https_proxy=https://localhost:3128/
export ftp_proxy=${http_proxy}
Idéalement, j'aimerais que le conteneur n'ait pas besoin du réseau hôte et ne sache pas à propos du proxy (c'est-à-dire que tous les appels sortants vers les ports 20, 80, 443 du conteneur passent par le port proxy de l'hôte). Est-ce possible?
À défaut, est-il possible d'avoir une configuration de site, qui garantira que ces variables env sont définies localement mais jamais exportées dans le cadre d'une image?
MISE À JOUR : Je sais que je peux passer ces choses avec --env http_proxy=...
, etc., mais c'est maladroit. Je veux que cela fonctionne pour tous les utilisateurs du système sans avoir à utiliser d'alias.