Sende ein Compose-proxyvariabel inn i ein container
Gjer proxyvariablar til ein del av miljøet til Compose-tenesta i staden for å gå ut frå at ei prosjektfil .env injiserer dei automatisk.
Compose-prosjektet si .env-fil leverer interpolasjonsverdiar. For å gje ein av desse verdiane til ein container, viser du til han i tenestekonfigurasjonen.
Til dømes inneheld .env proxy-endepunktet:
HTTP_PROXY=http://203.0.113.10:8080
Tenesta brukar det både for HTTP- og HTTPS-førespurnader:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Byt ut dokumentasjonsadressa og imaget; vel eit kompatibelt HTTP-endepunkt frå tenesta di eller frå HTTP-proxylista. Ein vanleg HTTP-proxy kan føre HTTPS gjennom CONNECT dersom han støttar tunnelen som blir bede om.
Ei eksplisitt env_file-oppføring er ein annan måte å sende variablane i ei vald fil til ei teneste. Interpolasjonsfila i prosjektet verkar ikkje som ei implisitt env_file for containeren.
Kontrollere kva som nådde applikasjonen
docker compose config viser den løyste tenestekonfigurasjonen. docker compose config --environment viser i staden verdiane som vart brukte til interpolasjon.
Samanlikn tenestemiljøet med applikasjonsprosessen. Ein eksisterande container får ikkje nye verdiar når du endrar .env; bruk endringa gjennom den tiltenkte Compose-livssyklusen, og rekn med avbrot i tenesta.
Dersom variabelen manglar, rett tenestekonfigurasjonen. Dersom han finst, men førespurnadene framleis går direkte, kontroller proxy-støtta i HTTP-klienten. Miljøinjeksjon gir konfigurasjon; applikasjonen må bruke han.