반응형
도커 컴포즈 공식문서에 표기된 내용입니다.
docker-compose를 실행할 때 현재 working directory에 .env 파일을 찾아 선언한 variable을 적용할 수 있습니다.
문법 룰은
- 선언 및 할당: VAR=VAL
- 주석: #
- blank는 무시
- 따옴표 미사용
.env file
# .env 파일
ELK_VERSION=7.10.1
docker-compose.yml
version: '3.7'
services:
es01:
image: "docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}"
command
docker-compose config
해당 명령어로 config를 확인할 수 있습니다.
파일 이름이나 위치를 지정할 수 있는데요, 공식 홈페이지에 가이드하고 있는 예제를 옮겨봤습니다.
파일하고 compose 내에 선언한 것 중 강한 것은??
cat ./Docker/api/api.env
NODE_ENV=test
- 현재 위치부터 api.env 위치를 알려주는 코드
- NODE_ENV=test 값이 매핑된 상태
version: '3'
services:
api:
image: 'node:6-alpine'
env_file:
- ./Docker/api/api.env
environment:
- NODE_ENV=production
- file엔 NODE_ENV=test
- 직접 환경설정은 NODE_ENV=production
output
$ docker-compose exec api node
> process.env.NODE_ENV
'production'
production이 출력됩니다.
compose > env_file
중복된 환경변수가 있을 경우 우선순위는 compose 파일 내 작성한 것임을 알 수 있습니다.
하나만 적기엔 아쉬워서 추가 내용을 작성해보았네요.
감사합니다!
반응형
'Docker' 카테고리의 다른 글
docker remove with cache on mac - reinstall (0) | 2022.11.06 |
---|---|
unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info": dial unix /var/run/docker.sock: connect: permission denied (0) | 2021.01.24 |
docker hub 이미지 자동 빌드하기 - github push (0) | 2021.01.10 |
nuxt docker hub에 배포하기 - nginx (0) | 2021.01.01 |