[TOAST Study] 5. Dockerfile 만들기

예제 > ubuntu 14.04 기반으로 nginx 서버를 설치한 도커 이미지 생성

기본 도커파일 문법

FROM : 어떤 이미지를 기반으로 할지 설정한다. <이미지 이름>:<태그> 형식
MAINTAINER : 작성자 정보
RUN : 셸 스크립트 혹은 명령을 실행
VOLUME : 호스트와 공유할 디렉터리 목록이다. docker run 명령에서 -v 옵션으로 설정한다
CMD : 컨테이너가 시작되었을 때 실행할 실행 파일 또는 셸 스크립트이다.
WORKDIR : CMD에서 설정한 실행 파일이 실행될 디렉터리
EXPOSE : 호스트와 연결할 포트 번호

Dockerfile

이미지 생성 중에는 사용자 입력을 받을 수 없으므로 apt-get install 명령에서 -y 옵션을 줬다.

Dockerfile을 작성하엿다면 이미지를 생성할 수 있다. 파일이 위치한 디렉토리에서 build 명령어를 사용한다.

$ docker build --tag hello:0.1 .

build <옵션> <dockerfile 경로> 형식으로 사용된다. --tag 옵션으로 이미지 이름과 태그를 지정하고 현재 dockerfile이 위치한 디렉토리에 있기 때문에 '.'으로 준 것이다. 따로 태그를 지정하지 않고 이미지 이름만 줄 경우 latest 태그가 자동으로 들어간다.

만든 이미지 파일을 컨테이너에서 실행해보자
$docker run --name hello-nginx -d -p 80:80 -v /root/data:/data hello:0.1

-d 옵션은 컨테이너를 백그라운드 실행
-p 80:80 옵션은 포트 넘버 설정 옵션으로 '호스트 포트' : '컨테이너 포트' 형식이다. 위 명령에서는 호스트의 80 포트와 컨테이너의 80 포트가 연결 되는 것이다.
-v [호스트 디렉토리] : [컨테이너 디렉토리] 로 연결하는 것으로 호스트 디렉토리로 넣어놓은 위치에 있는 파일은 컨테이너에서 해당 파일을 읽을 수 있다.
컨테이너를 실행 한 상태에서 '호스트 아이피 : 80' 으로 접속 시 nginx 접속 확인 화면이 출력됨을 확인할 수 있다.


No comments:

Powered by Blogger.