컨테이너 환경 안에 환경 변수 설정하기
컨테이너 환경 안에 환경 변수 설정하기 (Set environment variables within your container's environment)
서비스 구성에 명시적인 항목이 있어야만 컨테이너의 환경이 설정돼요. Compose로는 Compose 파일로 컨테이너에 환경 변수를 설정하는 두 가지 방법이 있어요.
출처: 문서
본문
비밀번호 같은 민감한 정보를 컨테이너에 전달하기 위해 환경 변수를 사용하지 마세요. 대신 시크릿(secrets)을 사용해요.
environment 속성
environment 속성은 리스트와 매핑 구문을 모두 지원해요:
services:
webapp:
environment:
DEBUG: "true"
이는 다음과 동등해요:
services:
webapp:
environment:
- DEBUG=true
추가 정보
web:
environment:
- DEBUG
위처럼 값 없이 변수만 쓰면, 셸 환경의 해당 변수 값을 가져와요. 셸 환경에 변수가 설정되어 있지 않으면 (프로젝트 디렉터리의 .env 파일에서 값을 가져와요):
web:
environment:
- DEBUG=${DEBUG}
이렇게 하면 보간을 이용해 .env 파일의 값을 환경 변수로 설정할 수 있어요.
env_file 속성
env_file 속성은 파일에서 환경 변수를 불러와요:
services:
webapp:
env_file: "webapp.env"
env_file은 파일을 YAML 블록으로 여러 개 지정할 수도 있어요. 프로젝트 디렉터리 루트의 파일을 지정할 때는 경로를 명시해요.