Compose-prosjektets .env-fil leverer interpolasjonsverdier. For å gi en av disse verdiene til en container, referer til den i tjenestekonfigurasjonen.

For eksempel inneholder .env proxy-endepunktet:

HTTP_PROXY=http://203.0.113.10:8080

Tjenesten bruker den for både HTTP- og HTTPS-forespørsler:

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

Erstatt dokumentasjonsadressen og imaget; velg et kompatibelt HTTP-endepunkt fra tjenesten din eller fra HTTP-proxylisten. En vanlig HTTP-proxy kan føre HTTPS gjennom CONNECT hvis den støtter tunnelen som forespørres.

En eksplisitt env_file-oppføring er en annen måte å sende variablene fra en valgt fil til en tjeneste. Prosjektets interpolasjonsfil fungerer ikke som en implisitt env_file for containeren.

Kontrollere hva som nådde applikasjonen

docker compose config viser den løste tjenestekonfigurasjonen. docker compose config --environment viser i stedet verdiene som ble brukt til interpolasjon.

Sammenlign tjenestemiljøet med applikasjonsprosessen. En eksisterende container får ikke nye verdier når du redigerer .env; bruk endringen gjennom den tiltenkte Compose-livssyklusen, og regn med avbrudd i tjenesten.

Hvis variabelen mangler, rett tjenestekonfigurasjonen. Hvis den finnes, men forespørslene fortsatt går direkte, kontroller HTTP-klientens proxy-støtte. Miljøinjeksjon gir konfigurasjon; applikasjonen må bruke den.

Relaterte artikler