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

Updated:

본 포스팅을 읽기전에,

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

Docker 설치하기

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

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


Docker를 이용한 Tomcat 컨테이너 설치

이번글에서는 Docker를 이용해서 간단하게 Tomcat 서버(컨테이너)를 만들어 보겠습니다.

Tomcat 8 설치

기본 설치

앞 시리즈 (1)에서 배웠던 docker run 명령어로 Tomcat 8 이미지를 download하고 컨테이너를 생성 및 실행합니다.

앞에서 설명한대로 run 명령어가 이 모든 작업을 한꺼번에 수행합니다.

또한 -p 옵션을 주어 Docker 호스트(내 컴퓨터)의 80 포트를 Docker 컨테이너(Tomcat)의 8080 포트로 바인딩(포워딩) 합니다. (Tomcat 공식 이미지의 기본 서비스 포트가 8080으로 되어 있습니다.)

$ docker run -d -it -p 80:8080 --name myt tomcat:8

Unable to find image 'tomcat:8' locally
8: Pulling from library/tomcat
50e431f79093: Pull complete
dd8c6d374ea5: Pull complete
c85513200d84: Pull complete
55769680e827: Pull complete
e27ce2095ec2: Pull complete
5943eea6cb7c: Pull complete
3ed8ceae72a6: Pull complete
91d1e510d72b: Pull complete
98ce65c663bc: Pull complete
27d4ac9d012a: Pull complete
Digest: sha256:2c90303e910d7d5323935b6dc4f8ba59cc1ec99cf1b71fd6ca5158835cffdc9c
Status: Downloaded newer image for tomcat:8
83fb842d8503260f59db93cc90ba0265f3543e152e4e097e7dcccaf5ca01334b


컨테이너가 잘 생성되고 실행중인지 docker ps 명령어로 확인합니다.

$ docker ps
CONTAINER ID   IMAGE   COMMAND             CREATED              STATUS              PORTS                  NAMES
d6c286ce4854   tomcat  "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:80->8080/tcp   myt


Tomcat index 페이지 조회

Tomcat의 공식이미지를 이용하여 최초 Tomcat 컨테이너를 생성했을 시, 호출 가능한 webapps가 없는 상태로 만들어집니다.

따라서 ROOT나 manager, examples 등 Tomcat의 기본 제공 app들을 사용하려면 약간의 조치를 취해주어야 합니다.

아래와 같이 docker exec 명령어를 통해 실행중인 컨테이너 내부로 접속해 봅니다.

$ docker exec -it myt bash

root@d6c286ce4854:/usr/local/tomcat#


Tomcat의 webapps.dist 디렉토리 안에 있는 내용물들을 비어있는 webapps 디렉토리로 옮겨줍니다.

root@d6c286ce4854:/usr/local/tomcat# cp -R webapps.dist/* webapps


이제 웹 브라우저를 통해 http://localhost 로 접속하여 Tomcat 화면이 정상적으로 보여지는지 확인합니다.

Tomcat index page


테스트 페이지(test.jsp) 작성

Docker 호스트(내 컴퓨터)에서 다음과 같은 내용으로 test.jsp 파일을 만들어 봅니다.

<% out.print("<H1>This is test page.</H>"); %>


test.jsp가 존재하는 디렉토리를 지정하여 test.jsp를 docker의 myt 컨테이너에 넘겨줍니다.

$ docker cp ./test.jsp myt:/usr/local/tomcat/webapps/ROOT


웹 브라우저를 통해 잘 뜨는지 확인해 봅니다.

test.jsp 페이지

여기까지, Docker를 이용한 간단한 Tomcat 컨테이너 생성이었습니다.

다음글…

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