도커 컴포즈를 이용한 도커 컨테이너 환경을 구축 시
환경변수를 각 서비스에 할당하는 방법은 다음과 같다.
version: '3.0'
services:
sample:
environment:
- HELLO=world
environment
키워드를 통해 각 환경변수를 관리하는 것으로
각 서비스별로 환경변수를 다르게 주입할 수 있다.
환경변수의 내용을 직접 compose 파일에 작성하지 않고 .env
파일을 생성해두고 .env 파일에 작성 된 환경변수를 읽어 오는 방법도 있다.
docker-compose.yml:
version: '3.0'
services:
sample:
environment:
- HELLO=${HELLO}
.env:
HELLO=world
.env 파일 내의 설정 한 변수를 마치 환경변수처럼 읽어, 다시 서비스에 환경변수로 설정한다.
그런데 환경변수가 많으면 각 서비스별로 환경변수를 한 줄 한 줄 적어 관리하기 어려운데, 그 때에는 .env 파일 자체를 특정 서비스의 환경변수로 사용하게 하여 관리가 가능하다.
AS-IS:
version: '3.0'
services:
sample:
environment:
- HELLO=${HELLO}
- WORLD=${WORLD}
TO-BE:
version: '3.0'
services:
sample:
env_file:
- .env
이렇게 사용 시 .env
파일을 읽어서 특정 서비스의 환경변수로 사용하게 함으로써
환경변수가 추가되더라도 여러 서비스 내에 한 줄 한 줄 추가할 필요가 없게 된다.
서비스가 많은 컴포즈 파일이더라도 .env 파일을 분리하여 각 서비스 별로 관리할 수 있다.
'개발, 연습 > 도커' 카테고리의 다른 글
도커 용량 확인, 빌드 캐시 확인, 삭제 (0) | 2024.03.29 |
---|