Compose-projektets .env-fil tillhandahåller interpoleringsvärden. För att ge ett av dessa värden till en container refererar du till det i tjänstens konfiguration.

Till exempel innehåller .env proxy-slutpunkten:

HTTP_PROXY=http://203.0.113.10:8080

Tjänsten använder den för både HTTP- och HTTPS-förfrågningar:

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

Byt ut dokumentationsadressen och imagen; välj en kompatibel HTTP-slutpunkt från din tjänst eller från HTTP-proxylistan. En vanlig HTTP-proxy kan bära HTTPS via CONNECT om den stöder den begärda tunneln.

En explicit env_file-post är ett annat sätt att skicka en vald fils variabler till en tjänst. Projektets interpoleringsfil fungerar inte som en implicit container-env_file.

Kontrollera vad som nådde applikationen

docker compose config visar den lösta tjänstekonfigurationen. docker compose config --environment visar i stället de värden som användes för interpolering.

Jämför tjänstens miljö med applikationsprocessen. En befintlig container får inte nya värden när du redigerar .env; tillämpa ändringen via den avsedda Compose-livscykeln och räkna med avbrott i tjänsten.

Om variabeln saknas, rätta tjänstekonfigurationen. Om den finns men förfrågningarna ändå går direkt, kontrollera HTTP-klientens proxy-stöd. Miljöinjektion ger konfiguration; applikationen måste använda den.

Relaterade artiklar