Programming > Docker

[Tomcat] CentOS에 라이브러리로 설치

CentOS + Tomcat Library 설치

Container 작성 (CentOS)

※ 호스트에 로그출력 디렉토리 만들고 볼륨을 매핑

[Host사에서 실행]

$ docker pull centos
$ mkdir -p /home/docker/tom01/logs
$ docker run -it -d -p 8080:8080 -v /home/docker/tom01/logs:/share/logs --name mytom centos

 

Tomcat Lib 다운로드 및 copy

[ docker에서 다운로드 할 경우]

docker@default:~$ curl -L -O  http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz


[Host사에서 실행]

$ wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz

※ 호스트에서 컨테이너로 파일을 복사한다.
$ docker cp apache-tomcat-9.0.13.tar.gz mytom:/opt/

 

Tomcat 설치 및 실행

1) 컨테이너 접속

$ docker exec -it mytom bash

2) java install & tomcat 압축해제 후 실행

# yum -y install java
# cd /opt
# tar zxf apache-tomcat-9.0.13.tar.gz
# cd apache-tomcat-9.0.13
# ./bin/startup.sh

 

접속 확인

http://192.168.99.100:8080


※ Tomcat_home/webapps/  아래에 어플리케이션을 배포하면 된다.

 

로그파일을 호스트에 저장하도록 변경

로그파일 위치를 변경해 호스트에 저장하도록 변경한다.

# cd /opt/apache-tomcat-9.0.13
# sed -i -e "s/\${catalina.base}\/logs/\/share\/logs/g" ./conf/logging.properties
# ./bin/shutdown.sh
# ./bin/start.sh
# ls -alt /share/logs

컨테이너가 죽어도 로그를 확인할 수 있다.

$ sudo tail -f /home/docker/tom01/logs/catalina.yyyy-mm-dd.log

 

컨테이너를 이미지 파일로 만들기

실행중인 컨테이너를 정지하고 commit을 실행한다.

$ docker stop mytom
$ docker commit mytom test/tomcat

새로 만든 이미지로 실행해 보기

새이미지 테스트용 로그폴더 작성

$ sudo mkdir /home/docker/tom01/logs2

새 이미지로 컨테이너 실행

$ docker run -it -d -p 28080:8080 -v /home/docker/tom01/logs2:/share/logs --name mytom2 test/tomcat

Tomcat 실행하기

$ docker exec -it mytom2 bash
# cd /opt/apache-tomcat-9.0.13
# ./bin/startup.sh

접속 확인

http://192.168.99.100:28080