코딩으로 따지면 컴파일 타임(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을 사용하는 편이다.
'docker' 카테고리의 다른 글
[docker] 도커 네트워크(bridge)를 생성하는 예시 (0) | 2019.09.14 |
---|---|
[docker] cmd와 entrypoint (0) | 2019.09.10 |
docker run 커맨드에 env 변수가 잘 동작하지 않는 이슈 해결하기 (0) | 2019.09.10 |
[docker] echo를 사용해 여러 라인을 파일로 저장하기 (0) | 2019.09.04 |
Rpmdb checksum is invalid: dCDPT(pkg checksums): 해결하기 (0) | 2019.09.04 |