docker上安装定制化tomcat

1,141 阅读1分钟

docker上安装定制化tomcat

业务需求如下:

  1. 能够通过war包方式发布项目;
  2. 能够查看日志;
  3. server.xml不用默认的

实现方式:

  1. 重新写一个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"]
  1. 为这个Dockerfile编辑镜像
docker buid . -t "tomcat_with_logsNwebapps"
  1. 运行容器的时候,指定日志目录和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命令查看基本输出。