如何在docker容器中将 jar 包部署到 java_home/jre 目录
在将 java 应用部署到 docker 容器时,您可能需要将 jar 包置于 java_home/jre 目录中。以下是解决此问题的方法:
首先,您需要获取 java_home 目录的路径。您可以使用命令 env | grep java_home 来查找它。
一旦您获得了 java_home 的路径,就可以使用 copy 指令将 jar 包复制到适当的位置。以下是 dockerfile 中示例:
Docker Sandbox
创建并管理 Docker 沙箱虚拟机环境以安全执行代理。适用于运行不受信任代码、探索包或隔离代理工作负载。支持 Claude、Codex、Copilot、Gemini 和 Kiro 代理,并提供网络代理控制。
下载
立即学习
“
Java免费学习笔记(深入)
”;
此 dockerfile 将 jar 包复制到 java_home/jre 目录中,并且当容器启动时,它将执行指定的主类。
执行此 dockerfile 将创建一个包含必要依赖项且已配置好时区的容器,可供您使用。
FROM openjdk:11.0.8
# 获取 JAVA_HOME 路径
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.8
# 将 JAR 包复制到 JAVA_HOME/jre 中
COPY xxx-1.0-SNAPSHOT.jar ${JAVA_HOME}/jre/lib/ext/xxx-1.0-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=test"]
RUN echo "Asia/shanghai" > /etc/timezone;