Docker

docker compose version 파라미터화

PSAwesome 2021. 1. 15. 22:19
반응형

도커 컴포즈 공식문서에 표기된 내용입니다.

 

Declare default environment variables in file

 

docs.docker.com

 

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 파일 내 작성한 것임을 알 수 있습니다.

 

하나만 적기엔 아쉬워서 추가 내용을 작성해보았네요.

 

감사합니다!

반응형