초보자를 위한 Docker 기본 (3)
Updated:
본 포스팅을 읽기전에,
Docker가 설치되어 있지 않다면 Docker를 미리 설치하고 본 포스팅을 읽으며 따라하면 훨씬 더 효과적이에요~
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 화면이 정상적으로 보여지는지 확인합니다.
테스트 페이지(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
웹 브라우저를 통해 잘 뜨는지 확인해 봅니다.
여기까지, Docker를 이용한 간단한 Tomcat 컨테이너 생성이었습니다.
다음글…