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ć.

Powiązane artykuły