docker上安装定制化tomcat
业务需求如下:
- 能够通过war包方式发布项目;
- 能够查看日志;
- server.xml不用默认的
实现方式:
- 重新写一个Dockerfile,主要是为了替换server.xml,内容如下:
FROM tomcat:latest
ENV CATALINA_HOME /usr/local/tomcat
COPY server.xml $CATALINA_HOME/conf/server.xml
EXPOSE 8080
CMD ["catalina.sh","run"]
- 为这个Dockerfile编辑镜像
docker buid . -t "tomcat_with_logsNwebapps"
- 运行容器的时候,指定日志目录和webapps的目录,运行命令如下:
docker run -it -v /root/docker/tomcat/logs:/usr/local/tomcat/logs/ -v /root/docker/tomcat/webapps:/usr/local/tomcat/webapps/ --name="tomcat_test_volume3" 689a94 /bin/bash
这样执行完之后,不会生成catalina.out文件,原因如下:
# CATALINA_OUT (Optional) Full path to a file where stdout and stderr
# will be redirected.
# Default is $CATALINA_BASE/logs/catalina.out
以上是tomcat对catalina.out的解释,会输出到stdout中,没有的话,才会默认到catalina.out文件中。而docker因为有log机制,所以有stdout,可以通过docker的logs命令查看基本输出。