DockerFile 서론
오늘은 Docker File 에 대해 알아보고자 한다.
Dockerfile은 Docker 이미지를 어떻게 설정할 건지에 대해 스크립트된 설정 파일이라고 보면 되는데, Docker에서 이 파일을 실행시키면 이 명령을 기반으로 세팅하여 이미지를 생성해준다.
Docker를 사용함에 있어서 개인적으로는 제일 중요한 요소라고 생각하며, 이 스크립트를 잘 사용할 줄 알아야 Docker를 제대로 활용할 수 있을 것이라 생각한다.
대부분의 내용은 Docker Reference를 참고하였으며, 초심자의 입장에서 추가적으로 필요한 내용은 덧붙였다.
차후에 모든 Format이 정리되면 종합본을 업로드할 예정이다.
FROM : 기반 이미지 설정
$ FROM <image> [AS <name>]
$ FROM <image>[:<tag>] [AS <name>]
$FROM <image>[@<digest>] [AS <name>]
여기서 FROM은 이 Docker 이미지가 어떤 이미지를 기반으로 할 것인지를 설정하는 라인이다. 반드시 Dockerfile의 시작점에 있어야 한다고 하며, 사용되는 이미지는 ‘Valid Image’이어야 한다.
쉽게 이야기하자면, Original Image이든, 가공된 이미지이든 첫 시작점은 Public Repository이면 된다는 것 같다.
++FROM 구문에서는 추가적으로 ARG라는 Instruction을 지원한다. 그렇기 때문에 ARG에 대해서 간단하게 이해한 만큼 설명하고 넘어가겠다.
ARG
ARG key
여기서의 ARG는 Dockerfile에서 FROM구문 앞에 올 수 있는 유일한 Format이라고 한다.
(Docker Reference에서는 may가 붙어있긴 하다.)
환경변수를 설정해주는 ENV와 비슷한 역할을 하지만, ARG는 Dockerfile을 Build하는 과정에서 값을 선언해줄 수 있다.
그리고 ARG에 기본값(Default Value)을 지정해주기 위해서는 꼭 첫번째 FROM 앞에서 선언해주어야 한다.
ARG 사용법은 아래와 같다. (복수 사용 가능)
docker build –build-arg <key>=value
docker build –build-arg <key>=value –build-arg <key>=value