초보자를 위한 Docker 기본 (4)

Updated:

본 포스팅을 읽기전에,

Docker가 설치되어 있지 않다면 Docker를 미리 설치하고 본 포스팅을 읽으며 따라하면 훨씬 더 효과적이에요~

Docker 설치하기

초보자를 위한 Docker 기본 (1)

초보자를 위한 Docker 기본 (2)

초보자를 위한 Docker 기본 (3)


Dockerfile 만들기

이번글에서는 앞 시리즈의 작업들을 Dockerfile로 만들어 봅니다.

테스트 페이지 작성

아래와 같은 내용으로 test.jsp 파일을 만듭니다.

<%@ page import="java.net.*" %>
<% out.println("<h1>Welcome</h1>"); %>
<% out.println("This hostname is [" + InetAddress.getLocalHost().getHostName() + "] and IP [" + InetAddress.getLocalHost().getHostAddress() + "]" ); %>


Dockerfile 만들기

메모장을 열어 “Dockerfile”이란 파일명으로 아래 내용을 작성합니다.

FROM tomcat:8
RUN apk update && apk upgrade # 이 line은 굳이 없어도 됨
COPY test.jsp ${CATALINA_HOME}/webapps/ROOT


이미지 빌드하기

앞에서 작성한 Dockerfile을 기반으로 이미지를 빌드합니다.

# docker build -t [repository명]/mytomcat:v0.1 .
# [repository명]은 docker hub의 개인 저장소(ID)이며, 여기서는 로컬 컴퓨터의 repository에 이미지를 만든다.
# 마지막의 점(.) 은 Dockerfile의 현재 위치를 나타낸다.

$ docker build -t aramidhwan/mytomcat:v0.1 .

Sending build context to Docker daemon  8.704kB
Step 1/2 : FROM tomcat:8
8: Pulling from library/tomcat
Digest: sha256:2c90303e910d7d5323935b6dc4f8ba59cc1ec99cf1b71fd6ca5158835cffdc9c
Status: Downloaded newer image for tomcat:8
 ---> 4e7840b49fad
Step 2/2 : COPY test.jsp ${CATALINA_HOME}/webapps/ROOT
 ---> 1d4f7426abb1
Successfully built 1d4f7426abb1
Successfully tagged aramidhwan/mytomcat:v0.1


내가 만든 이미지로 Docker 컨테이너 생성

앞에서 만든 이미지로 docker 컨테이너를 띄어 봅니다.

$ docker run –d –p 80:8080 --name tomcat_test aramidhwan/mytomcat:v0.1

305b88779cf466ab0ddffee03d75f440c8d50ddbd05f1867903d07f1d287d4c7


컨테이너가 정상적으로 생성 & 실행되었는지 확인합니다.

$ docker ps

CONTAINER ID        IMAGE                      COMMAND             CREATED              STATUS              PORTS                  NAMES
305b88779cf4        aramidhwan/mytomcat:v0.1   "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:80->8080/tcp   tomcat_test


이상으로, Dockerfile을 활용한 이미지 빌드를 해보았습니다.