【发布时间】:2026-01-25 08:50:01
【问题描述】:
我在类路径中有一个正在运行的 hzc-yml 配置 - 生成的 jar 文件在 docker 上下文中运行良好。现在我想从外部加载这个 yml 文件。我将此启动属性添加到我的 DOCKERFILE:
-Dhazelcast.config=`./hazelcast.yaml`
整个 DOCKERFILE 看起来像:
FROM openjdk:14
VOLUME /tmp
WORKDIR /service
RUN mkdir /service/logs
COPY jar/hazelcast.yaml hazelcast.yaml
COPY jar/log4j.properties log4j.properties
COPY jar/hzc-service.jar hzc-service.jar
ENTRYPOINT exec java \
-Dhazelcast.config=`./hazelcast.yaml` \
-Dhazelcast.logging.type=log4j \
-Dlog4j.configuration=file:./log4j.properties \
-Djava.security.egd=file:/dev/./urandom \
--add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED \
$JAVA_OPTS \
-jar hzc-service.jar
似乎服务想应用外部 yml 文件,但我总是收到此错误:
hzc 服务 | /bin/sh: ./hazelcast.yaml: 权限被拒绝
我对文件应用了“chmod 777”,但没有任何效果。
谢谢
【问题讨论】:
标签: java dockerfile hazelcast