gpt4 book ai didi

java - docker exec java app 后台附加日志

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:03 25 4
gpt4 key购买 nike

对于在 docker 容器内运行的 Java 应用程序,我应该将日志输出到哪里,以便 docker logs -f 可以在运行一段时间后读取 java 应用程序的日志输出?

我执行 Activity 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 日志路径设置设置为特定目的地?

<?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"]

构建 Docker 镜像

docker build -t java-app-image-name .

在后台运行 docker 镜像

docker run --name app-container-name -d java-app-image-name

之后您将能够查看 docker 的日志

docker logs -f app-container-name

关于java - docker exec java app 后台附加日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40484013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com