ENV
- 환경변수 지정
- $변수 혹은 ${변수} 형태로 표현 가능
- 또한, ${변수:-값}으로 값을 기본값으로 표현 가능
- ${변수:+값}의 경우는 반대에 경우인데 사용할 일이 있을까 싶다.
- docker run 시에 --e 옵션을 활용하여 오버라이딩 할 수 있다.
ARG
- build 시점에만 사용되는 변수
- ARG 변수 혹은 ARG 변수=값 형태로 표현 가능
- ENV처럼 ${변수:+값}, ${변수:-값}으로도 표현 가능
- docker build 시에 --build-arg 옵션을 활용하여 오버라이딩 할 수 있다.
#example
# expect a build-time variable(이미지 빌드 시 --build-arg 파라미터로 변수 값 전달하기)
ARG SOME_VALUE
# set default ENV value from ARG
ENV env_var=$SOME_VALUE
# if not overridden, that value of env_var will be available to your containers!
$ docker run -e "env_var=another_value" alpine env