java - 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
我看到的是其他日志而不是我的应用日志
解决方案
在 Docker 中,日志通常不会保存在容器内的文件中,而是可以使用docker logs
命令访问。
原因是容器可以重新启动/删除,然后您的所有日志都将丢失。
常见的做法是在外部存储日志(使用 Kibana 或等效的),这样,如果您的容器被移除并重建,您仍将拥有您的日志
推荐阅读
- python - tensorflow:找不到dnn实现
- java - 问题: curl: (7) 无法连接到 localhost 端口 1080: Connection refused
- javascript - Tensorflow Square 函数不精确
- javascript - 通过相同的 JS 代码提交多个表单时不支持 POST 方法。(405)
- pandas - 签名为结尾时将字符串格式的负数转换为数字
- opencl - 如何将 cl2.hpp 与 AMD GPU 和 rocm 一起使用
- javascript - 如何在数组中查找对象的出现
- bash - 将 CSV 文件转换为多行文本文件
- javascript - 在javascript数组上使用find时如何检查未定义
- css - 如何将文本与图像对齐