본문 바로가기

About/Docker

[Docker] Dockerfile과 이미지 레이어에 대하여

다음 도서를 참고하여 작성하였습니다.

www.aladin.co.kr/shop/wproduct.aspx?ItemId=166082298

 

완벽한 IT 인프라 구축을 위한 Docker

컨테이너 기술을 사용한 애플리케이션 실행 환경 플랫폼인 ‘Docker’를 사용하여 인프라를 구축하기 위한 입문서. 제2판에서는 Docker의 새로운 기능 및 명령과 더불어, 멀티호스트 환경에서 실행

www.aladin.co.kr

 

Dockerfile을 빌드하면 기술된 명령마다 내부 이미지가 하나씩 작성됩니다. 그래서 Dockerfile을 줄이는 몇 가지 방법이 고안되어 있습니다.

 

RUN 명령어를 여러 개 지정하는 경우

 다음 예시에서는 4개의 레이어가 생성됩니다.

RUN yum -y install httpd
RUN yum -y install php
RUN yum -y install php-mbstring
RUN yum -y install php-pear

 

RUN 명령을 한 줄로 지정하는 경우

 한편 다음 예시에서는 하나의 레이어만 생성됩니다.

RUN yum -y install httpd php php-mbstring php-pear

 

당연하게도 이미지 레이어는 가능한 적을 수록 좋기 때문에 한 줄에 쓸 수 있는 명령은 한 줄에 쓰는 것이 좋습니다.

또한 RUN 명령은 '\'로 줄 바꿈을 넣을 수 있습니다. 줄 바꿈을 넣으면 가독성이 향상되므로 명령어를 쉽게 확인할 수 있습니다.

 

따라서 다음과 같이 기술하는 것을 권장합니다.

RUN yum -y install \
           httpd \
           php \
           php-mbstring \
           php-pear

Dockerfile과 이미지레이어에 대하여 다뤄봤습니다.