首页 > 解决方案 > Docker tomcat 找不到应用程序日志

问题描述

我打算在 tomcat docker 中部署我的 web 应用程序。用户 tomcat9 OpenJDK-11

这是我的 Dockerfile

FROM tomcat:jdk11-corretto
WORKDIR /
RUN chmod 777 /usr/local/tomcat/
ADD target/mvn-webapp.war /usr/local/tomcat/webapps/

EXPOSE 8080

CMD ["catalina.sh", "run"]

我的应用程序正在运行。但我没有看到应用程序日志文件。IE

mvn-webapp.log

在 /usr/local/tomcat/log 文件夹中

有人可以帮我在 docker 中启用应用程序日志文件吗?

sh-4.2# ls -o
total 12
-rw-r----- 1 root 5159 Jun  6 16:18 catalina.2020-06-06.log
-rw-r----- 1 root    0 Jun  6 16:18 host-manager.2020-06-06.log
-rw-r----- 1 root    0 Jun  6 16:18 localhost.2020-06-06.log
-rw-r----- 1 root   78 Jun  6 16:19 localhost_access_log.2020-06-06.txt
-rw-r----- 1 root    0 Jun  6 16:18 manager.2020-06-06.log

我看到的是其他日志而不是我的应用日志

标签: javadockerdebuggingtomcatlogging

解决方案


在 Docker 中,日志通常不会保存在容器内的文件中,而是可以使用docker logs命令访问。

原因是容器可以重新启动/删除,然后您的所有日志都将丢失。
常见的做法是在外部存储日志(使用 Kibana 或等效的),这样,如果您的容器被移除并重建,您仍将拥有您的日志


推荐阅读