docker执行Java应用程序后台附加日志
对于在Docker容器中运行的Java应用程序,我应该在哪里输出我的日志,以便docker日志-f可以在运行一段时间之后读取java应用程序的日志输出?
我使用类似下面的方法执行活动docker容器内的java应用程序
docker exec -d container-name java -jar /path-to-jar/java-app-1.0-SNAPSHOT.jar
到目前为止,它运行我的Spring Boot Java应用程序。
以下任一种方法都可以工作吗?
docker exec -d container-name java -jar /path-to-jar/java-app-1.0-SNAPSHOT.jar > /var/log/docker-id.log
或者将java日志path设置设置为特定的目的地?
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> <root level="INFO"> <appender-ref ref="FILE" /> </root> </configuration>
要在docker中运行应用程序并能够查看日志,那么像下面这样运行它就可以了。
Dockerfile
FROM base-image COPY app.jar /opt/app.jar CMD ["java","-jar","/opt/rate-upload-tool.jar"]
构buildDocker镜像
docker build -t java-app-image-name .
在后台运行docker图像
docker run --name app-container-name -d java-app-image-name
在此之后,您将能够查看泊坞窗的日志
docker logs -f app-container-name
- 使用docker-composelogging:我可以同时使用两个驱动程序吗?
- 有没有人知道如何设置docker日志刷新间隔
- 如何在kubernetes pod文件中configuration日志驱动程序?
- 简单的docker应用程序的集中日志logging
- 将自由日志直接写入到graylog
- Elastic Beanstalk单容器泊坞窗 – 使用awslogslogging驱动程序
- 设置Stackdriver为Docker的gcplogs日志驱动程序logging日志级别
- 如何通过Go SDKstream式处理Docker容器日志
- 在GKE /容器优化的操作系统上logging日志logging会破坏kubectl日志