Het projectbestand .env van Compose levert interpolatiewaarden. Om een van die waarden aan een container te geven, verwijs je ernaar in de serviceconfiguratie.

Bijvoorbeeld: .env bevat het proxy-endpoint:

HTTP_PROXY=http://203.0.113.10:8080

De service gebruikt het voor zowel HTTP- als HTTPS-bestemmingsverzoeken:

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

Vervang het documentatieadres en de image; kies een compatibel HTTP-endpoint uit je service of de HTTP-proxylijst. Een gewone HTTP-proxy kan HTTPS via CONNECT doorgeven als hij de gevraagde tunnel ondersteunt.

Een expliciete vermelding van env_file is een andere manier om de variabelen van een gekozen bestand aan een service te geven. Het projectbestand voor interpolatie fungeert niet als een impliciete container-env_file.

Controleren wat de applicatie heeft bereikt

docker compose config toont de opgeloste serviceconfiguratie. docker compose config --environment toont daarentegen de waarden die voor interpolatie zijn gebruikt.

Vergelijk de serviceomgeving met het applicatieproces. Een bestaande container krijgt geen nieuwe waarden wanneer je .env bewerkt; voer de wijziging uit via de bedoelde Compose-levenscyclus, met kans op onderbreking van de service.

Als de variabele ontbreekt, corrigeer dan de serviceconfiguratie. Als hij aanwezig is maar verzoeken toch rechtstreeks verlopen, controleer dan de proxyondersteuning van de HTTP-client. Injectie via de omgeving levert configuratie; de applicatie moet die gebruiken.

Gerelateerde artikelen