Le fichier de projet .env de Compose fournit les valeurs d'interpolation. Pour transmettre l'une de ces valeurs à un conteneur, référencez-la dans la configuration du service.

Par exemple, .env contient le point de terminaison du proxy :

HTTP_PROXY=http://203.0.113.10:8080

Le service l'utilise pour les requêtes vers des destinations HTTP et HTTPS :

services:
  app:
    image: your-image
    environment:
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTP_PROXY}"

Remplacez l'adresse de documentation et l'image ; choisissez un point de terminaison HTTP compatible dans votre service ou dans la liste de proxys HTTP. Un proxy HTTP ordinaire peut acheminer HTTPS via CONNECT s'il prend en charge le tunnel demandé.

Une entrée env_file explicite est un autre moyen de transmettre les variables d'un fichier choisi à un service. Le fichier d'interpolation du projet ne sert pas de env_file implicite pour le conteneur.

Vérifier ce qui est parvenu à l'application

docker compose config affiche la configuration de service résolue. docker compose config --environment affiche plutôt les valeurs utilisées pour l'interpolation.

Comparez l'environnement du service avec le processus de l'application. Un conteneur existant ne reçoit pas de nouvelles valeurs lorsque vous modifiez .env ; appliquez la modification via le cycle de vie Compose prévu, en prévoyant une interruption de service.

Si la variable est absente, corrigez la configuration du service. Si elle est présente mais que les requêtes restent directes, vérifiez la prise en charge du proxy par le client HTTP. L'injection d'environnement fournit la configuration ; l'application doit l'utiliser.

Articles similaires