오늘은 도커를 포장할 때 자주 마주하지만 아무생각 없이 사용하곤했던 ENV 와 ARG 에 관해서
정리해보려한다.
변수를 다룬다는 측면에서는 그 역할이 같다.
하지만, 분명히 둘에는 차이점이 존재한다.
ENV <key> <value>
ENV <key>=<value>
ARG <name> [=<default value>]
아래와 같이 ARG 를 사용할 경우 변경 사항이 생길 경우 가장 상단의 ARG 만 수정하면 되기 때문에
유지 보수에 용이하다.
ARG ubuntu_versio=22.04
FROM ubuntu${ubuntu_version} AS builder
ARG ubuntu_version
FROM ubuntu
ARG ubuntu_version