Compose proxy változó átadása egy konténernek
Tegye a proxy változókat a Compose szolgáltatás környezetének részévé ahelyett, hogy feltételezné, hogy a projekt .env fájlja automatikusan befecskendezi őket.
A Compose .env projektfájlja interpolációs értékeket biztosít. Ahhoz, hogy ezek egyikét egy konténernek adja, hivatkozzon rá a szolgáltatás konfigurációjában.
Például a .env tartalmazza a proxy végpontot:
HTTP_PROXY=http://203.0.113.10:8080
A szolgáltatás HTTP és HTTPS célokhoz egyaránt ezt használja:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Cserélje ki a dokumentációs címet és az image-et; válasszon kompatibilis HTTP végpontot a szolgáltatásából vagy a HTTP proxyk listájából. Egy közönséges HTTP proxy képes HTTPS-t továbbítani CONNECT-en keresztül, ha támogatja a kért alagutat.
Egy explicit env_file bejegyzés a másik módja annak, hogy egy kiválasztott fájl változóit egy szolgáltatásnak adja. A projekt interpolációs fájlja nem működik a konténer implicit env_file-jaként.
Annak ellenőrzése, mi ért el az alkalmazáshoz
docker compose config a feloldott szolgáltatáskonfigurációt mutatja. docker compose config --environment ehelyett az interpolációhoz használt értékeket mutatja.
Hasonlítsa össze a szolgáltatás környezetét az alkalmazás folyamatával. Egy meglévő konténer nem kap új értékeket, amikor szerkeszti a .env fájlt; alkalmazza a módosítást a szándékolt Compose életcikluson keresztül, számolva a szolgáltatás megszakadásával.
Ha a változó hiányzik, javítsa a szolgáltatás konfigurációját. Ha jelen van, de a kérések továbbra is közvetlenek, ellenőrizze a HTTP kliens proxy támogatását. A környezet befecskendezése biztosítja a konfigurációt; az alkalmazásnak fel kell használnia.