※ 호스트에 로그출력 디렉토리 만들고 볼륨을 매핑
[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
[ 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/
$ docker exec -it mytom bash
# 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
$ 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
$ docker exec -it mytom2 bash
# cd /opt/apache-tomcat-9.0.13
# ./bin/startup.sh
http://192.168.99.100:28080