◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在 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 包:
立即学习“Java免费学习笔记(深入)”;
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 路径。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。