[docker] ENV와 ARG 비교

docker 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을 사용하는 편이다. 






Posted by '김용환'
,