Compose 프로젝트의 .env 파일은 보간 값을 제공합니다. 그중 하나를 컨테이너에 전달하려면 서비스 구성에서 참조하세요.

예를 들어 .env에는 프록시 엔드포인트가 들어 있습니다:

HTTP_PROXY=http://203.0.113.10:8080

서비스는 HTTP와 HTTPS 대상 요청 모두에 이를 사용합니다:

services:
  app:
    image: your-image
    environment:
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTP_PROXY}"

문서에 나온 주소와 이미지는 바꾸세요. 서비스나 HTTP 프록시 목록에서 호환되는 HTTP 엔드포인트를 고르면 됩니다. 일반 HTTP 프록시도 요청한 터널을 지원하면 HTTPS를 CONNECT를 통해 전달할 수 있습니다.

명시적인 env_file 항목은 선택한 파일의 변수를 서비스로 전달하는 또 다른 방법입니다. 프로젝트 보간 파일은 암묵적인 컨테이너 env_file 역할을 하지 않습니다.

애플리케이션에 무엇이 도달했는지 확인하기

docker compose config는 해석된 서비스 구성을 보여 줍니다. docker compose config --environment는 대신 보간에 사용된 값을 보여 줍니다.

서비스 환경과 애플리케이션 프로세스를 비교하세요. 기존 컨테이너는 .env를 편집해도 새 값을 받지 않습니다. 서비스 중단을 허용하면서 의도한 Compose 수명 주기를 통해 변경을 적용하세요.

변수가 없으면 서비스 구성을 고치세요. 변수는 있는데 요청이 계속 직접 나가면 HTTP 클라이언트의 프록시 지원을 확인하세요. 환경 주입은 구성을 제공할 뿐이며, 애플리케이션이 그것을 사용해야 합니다.

관련 글