docker
[docker] ENV와 ARG 비교
'김용환'
2019. 9. 10. 09:40
코딩으로 따지면 컴파일 타임(compile-time), 런타임(run-time)처럼..
도커 파일에는 이에 해당하는 ARG(build-time)와 ENV(run-time)가 존재한다.
<ARG>
표현식 : ${변수:+값}, ${변수:-값}
빌드 시점에 사용한다
도커 파일에서 ARG 변수 혹은 ARG 변수=값 형태로 표현할 수 있다.
docker build 커맨드에 --build-arg 옵션을 사용해 매개 변수를 전달하거나 덮어쓸 수 있다.
<ENV>
표현식 : ${변수:+값}, ${변수:-값}
런타임 환경변수이다
docker run 커맨드 --e 옵션을 활용해 매개 변수를 전달하거나 덮어쓸 수 있다.
개인적으로 ARG보다는 ENV를 사용해 docker run을 사용하는 편이다.