Odovzdanie premennej proxy z Compose do kontajnera
Urobte premenné proxy súčasťou prostredia služby Compose namiesto predpokladu, že ich súbor .env projektu vloží automaticky.
Súbor .env projektu Compose poskytuje hodnoty interpolácie. Ak chcete niektorú z týchto hodnôt odovzdať kontajneru, odkážte sa na ňu v konfigurácii služby.
Napríklad .env obsahuje koncový bod proxy:
HTTP_PROXY=http://203.0.113.10:8080
Služba ho používa pre požiadavky na HTTP aj HTTPS:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Nahraďte dokumentačnú adresu a obraz; vyberte kompatibilný koncový bod HTTP zo svojej služby alebo zo zoznamu proxy HTTP. Bežná proxy HTTP dokáže prenášať HTTPS cez CONNECT, ak podporuje požadovaný tunel.
Explicitný záznam env_file je ďalší spôsob, ako odovzdať premenné zvoleného súboru službe. Interpolačný súbor projektu nefunguje ako implicitný env_file kontajnera.
Kontrola, čo sa dostalo do aplikácie
docker compose config zobrazuje vyriešenú konfiguráciu služby. docker compose config --environment namiesto toho zobrazuje hodnoty použité pri interpolácii.
Porovnajte prostredie služby s procesom aplikácie. Existujúci kontajner nedostane nové hodnoty, keď upravíte .env; zmenu použite cez zamýšľaný životný cyklus Compose a počítajte s prerušením služby.
Ak premenná chýba, opravte konfiguráciu služby. Ak je prítomná, ale požiadavky zostávajú priame, skontrolujte podporu proxy v klientovi HTTP. Vkladanie cez prostredie dodáva konfiguráciu; aplikácia ju musí použiť.