【问题标题】:Dockerfile Java Spring Boot - how to add folder for logsDockerfile Java Spring Boot - 如何为日志添加文件夹
【发布时间】:2022-01-21 22:20:41
【问题描述】:

我想将我的 Spring Boot 应用程序 dockerize。在应用程序主文件夹中,我有日志文件夹:

(spring app main folder)/data/log/zocbot/

在我的 log4j2.xml 中有:

    <Properties>
    <Property name="logDirectory">./data/log/zocbot/</Property>
    <Property name="logDirectoryArch">./data/log/arch/zocbot/</Property>
    <Property name="logFileNameMain">bot-main</Property>
    </Properties>

我尝试使用 Dockerfile:

FROM azul/zulu-openjdk-alpine:11
RUN addgroup -S spring && adduser -S spring -G spring
ADD ./data/log/zocbot/ /log/
#VOLUME ["/data/log/zocbot/"]
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

但我收到错误:


 main ERROR Unable to create file ./data/log/zocbot//bot-main.log java.io.IOException: Could not create directory /data/log/zocbot

我找不到解决办法

问候

【问题讨论】:

  • 你应该回答你自己的问题,而不是编辑它。

标签: java spring-boot dockerfile log4j2


【解决方案1】:

我更改了我的 dockerfile(添加 mkdir 和 chmod),现在它可以按我的意愿工作了:

FROM azul/zulu-openjdk-alpine:11

RUN addgroup -S spring && adduser -S spring -G spring

RUN mkdir -p data/log/zocbot
RUN find data/log/zocbot/ -type d -exec chmod 0777 {} \;
RUN find data/log/zocbot/ -type f -exec chmod 777 {} \;

USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} bot-app.jar
ENTRYPOINT ["java","-jar","/bot-app.jar"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2015-09-12
    • 2017-05-08
    • 2021-06-04
    • 2017-08-03
    相关资源
    最近更新 更多