Przekazywanie zmiennej proxy Compose do kontenera
Uczyń zmienne proxy częścią środowiska usługi Compose, zamiast zakładać, że plik .env projektu wstrzyknie je automatycznie.
Plik .env projektu Compose dostarcza wartości interpolacji. Aby przekazać jedną z tych wartości do kontenera, odwołaj się do niej w konfiguracji usługi.
Na przykład .env zawiera punkt końcowy proxy:
HTTP_PROXY=http://203.0.113.10:8080
Usługa używa go zarówno dla żądań HTTP, jak i HTTPS:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Zastąp adres dokumentacyjny i obraz; wybierz zgodny punkt końcowy HTTP z usługi lub listy proxy HTTP. Zwykłe proxy HTTP może przenosić HTTPS przez CONNECT, jeśli obsługuje żądany tunel.
Jawny wpis env_file to inny sposób przekazania zmiennych wybranego pliku do usługi. Plik interpolacji projektu nie działa jako niejawne env_file kontenera.
Sprawdzanie, co dotarło do aplikacji
docker compose config pokazuje rozstrzygniętą konfigurację usługi. docker compose config --environment pokazuje natomiast wartości użyte do interpolacji.
Porównaj środowisko usługi z procesem aplikacji. Istniejący kontener nie otrzymuje nowych wartości po edycji .env; zastosuj zmianę przez zamierzony cykl życia Compose, licząc się z przerwą w działaniu usługi.
Jeśli zmiennej brakuje, popraw konfigurację usługi. Jeśli jest obecna, ale żądania nadal są bezpośrednie, sprawdź obsługę proxy w kliencie HTTP. Wstrzykiwanie przez środowisko dostarcza konfigurację; aplikacja musi ją wykorzystać.