在 Docker 启动的 Java 应用中,如何将 jar 包放置在 $JAVA_HOME/jre 目录下?

在 docker 启动的 java 应用中,如何将 jar 包放置在 $java_home/jre 目录下?

docker 启动的 java 应用中将 jar 包置于 $java_home/jre 目录下

使用 docker 容器时,将文件放置在特定的目录中可能具有挑战性。本文将探讨如何在使用 docker 启动的 java 应用程序中将 jar 包放置于 $java_home/jre 目录下。

如题所述,你需要将两个文件放置在 $java_home/jre 目录中。在 docker 环境中,$java_home 由 docker 镜像中安装的 jdk 或 jre 决定。对于 oracle jdk 或 openjdk,$java_home 通常位于 /usr/lib/jvm/java-11-openjdk-amd64/ 目录下。

对于像你提到的使用 openjdk:11.0.8 的情况,可以通过修改 dockerfile 来放置 jar 包:

FROM openjdk:11.0.8
ADD xxx-1.0-SNAPSHOT.jar /usr/lib/jvm/java-11-openjdk-amd64/jre/
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=test"]
RUN echo "Asia/shanghai" > /etc/timezone

这里,add 命令用于将 xxx-1.0-snapshot.jar 文件复制到 /usr/lib/jvm/java-11-openjdk-amd64/jre/ 目录中。这是 openjdk 11 图像中 java_home/jre 目录的路径。

这种方法与放置其他 jar 文件或库文件没有什么不同。你只需相应地调整 destination 路径。

以上就是在 Docker 启动的 Java 应用中,如何将 jar 包放置在 $JAVA_HOME/jre 目录下?的详细内容,更多请关注其它相关文章!