Docker
[기록용] 도커 환경변수 설정하는 다양한 방법 (ENV, ARG)
피리음
2023. 3. 30. 16:12
ENV
Dockerfile 내에 환경 변수 설정하기
# 도커파일에서 환경변수 설정
...
ENV PORT 80
EXPOSE $PORT
...
커맨드로 환경 변수 설정하기
$ docker run --env PORT=8000 ...
# 혹은
$ docker run --e PORT=8000 ...
.env 작성하고 커맨드에서 환경 변수 읽기
# .env 파일
PORT=8000
# 명령어 실행
$ docker run --env-file ./.env ...
ARG
Dockerfile 내에 ARG 설정하기
FROM node:14
...
ARG DEFAULT_PORT=8000
ENV PORT $DEFAULT_PORT
EXPOSE $PORT
...
ARG 의 장점:
Dockerfile 은 건드리지 않으면서도 ENV 만 변경하여 새로운 이미지를 만들 수 있다.
# 모두 ENV는 변경되지만 도커파일은 수정하지 않아도 이미지를 만들 수 있다.
# DEFAULT_PORT가 8000포트로 된 도커파일을 생성하고 싶을 때
$ docker build --build-arg DEFAULT_PORT=8000 .
# DEFAULT_PORT가 80포트로 된 도커파일을 생성하고 싶을 때
$ docker build --build-arg DEFAULT_PORT=80 .