Projektfilen .env i Compose leverer interpolationsværdier. For at give en af disse værdier til en container skal du referere til den i tjenestekonfigurationen.

For eksempel indeholder .env proxyendpointet:

HTTP_PROXY=http://203.0.113.10:8080

Tjenesten bruger den til både HTTP- og HTTPS-destinationsanmodninger:

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

Erstat dokumentationsadressen og imaget; vælg et kompatibelt HTTP-endpoint fra din tjeneste eller fra listen over HTTP-proxyer. En almindelig HTTP-proxy kan transportere HTTPS via CONNECT, hvis den understøtter den ønskede tunnel.

Et eksplicit env_file er en anden måde at give en valgt fils variabler til en tjeneste. Projektets interpolationsfil fungerer ikke som en implicit env_file for containeren.

Kontrollere hvad der nåede applikationen

docker compose config viser den opløste tjenestekonfiguration. docker compose config --environment viser i stedet de værdier, der blev brugt til interpolation.

Sammenlign tjenestemiljøet med applikationsprocessen. En eksisterende container modtager ikke nye værdier, når du redigerer .env; anvend ændringen via den tilsigtede Compose-livscyklus, og regn med afbrydelse af tjenesten.

Hvis variablen mangler, skal du rette tjenestekonfigurationen. Hvis den findes, men anmodningerne stadig går direkte, skal du kontrollere HTTP-klientens proxyunderstøttelse. Miljøinjektion leverer konfigurationen; applikationen skal bruge den.

Relaterede artikler