Je voulais parfois créer une image Docker dans un environnement proxy, alors je l'ai construite pour pouvoir définir les informations de proxy dans ARG.
FROM debian
#Spécifier lors de la construction sous un environnement proxy
ARG HTTP_PROXY
ARG HTTPS_PROXY
RUN apt-get update \
&& apt-get install -y ... \
&& rm -rf /var/lib/apt/lists/*
$ docker build --build-arg HTTP_PROXY=... --build-arg HTTPS_PROXY=... .
(Abréviation)
Err:1 http://deb.debian.org/debian buster InRelease
Cannot initiate the connection to prod.debian.map.fastly.net:80 (2a04:4e42:1a::204). - connect (101: Network is unreachable) Could not connect to prod.debian.map.fastly.net:80 (151.101.108.204), connection timed out
Cannot initiate the connection to deb.debian.org:80 (2a04:4e42:1a::645). - connect (101: Network is unreachable) Could not connect to deb.debian.org:80 (151.101.110.133), connection timed out
Quoi? Je ne peux pas passer par le proxy.
Voici la bonne réponse que j'ai trouvée après une demi-journée à me demander pourquoi cela n'a pas fonctionné.
FROM debian
#Spécifier lors de la construction sous un environnement proxy
ARG http_proxy
ARG https_proxy
RUN apt-get update \
&& apt-get install -y ... \
&& rm -rf /var/lib/apt/lists/*
$ docker build --build-arg http_proxy=... --build-arg https_proxy=... .
La cause de l'échec est la croyance que "les variables d'environnement sont spécifiées en majuscules" et "les variables d'environnement ne peuvent pas être sensibles à la casse".
Cher Monsieur, Soyez prudent lorsque vous utilisez apt-get dans un environnement proxy.