Sende en Compose-proxyvariabel inn i en container
Gjør proxyvariabler til en del av Compose-tjenestens miljø i stedet for å anta at en prosjektfil .env injiserer dem automatisk.
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.