在Docker中运行Java 12应用

anauzrmj  于 2023-11-15  发布在  Java
关注(0)|答案(2)|浏览(119)

我查看了OpenJDK Docker存储库,没有发现Java 12的JRE映像。Java 11有一个(openjdk:11.0.2-jre),但12只有JDK映像。

**Q:**如何使用OpenJDK JRE 12在Docker中运行应用程序,而不使用完整的JDK镜像?

bjp0bcyl

bjp0bcyl1#

AdoptOpenJDK已提供Java 12 JRE docker imagesadoptopenjdk/openjdk12:jre-12.33
OpenJDK是一个基于Java社区的工作,从它的about page
AdoptOpenJDK.net始于2017年,此前多年来一直在讨论如何在多个平台上为OpenJDK源代码提供一个开放且可复制的构建和测试系统。
他们的使命的一个关键点是:
为所有平台提供一个可靠的OpenJDK二进制文件源,为未来的长期发展!
OpenJdk official image repository上还没有12 jre的pull请求(由Docker社区维护)。

jvlzgdj9

jvlzgdj92#

我成功地为spring Boot 应用程序部署了以下dockerfile,使用了gradle和java 12:

FROM adoptopenjdk/openjdk12-openj9 AS TEMP_BUILD_IMAGE
ENV APP_HOME=/usr/app/
WORKDIR $APP_HOME
COPY build.gradle settings.gradle gradlew $APP_HOME
COPY gradle $APP_HOME/gradle
RUN chmod +x ./gradlew
RUN ./gradlew build || return 0
COPY . .
RUN chmod +x ./gradlew
RUN ./gradlew build -x test

FROM adoptopenjdk/openjdk12-openj9
ENV ARTIFACT_NAME=example_app-1.0.jar
ENV APP_HOME=/usr/app/
WORKDIR $APP_HOME
COPY --from=TEMP_BUILD_IMAGE $APP_HOME/build/libs/$ARTIFACT_NAME .
EXPOSE 8080
#CMD ["java","-jar",$ARTIFACT_NAME]
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=container","-jar","./example_app-1.0.jar"]

字符串

相关问题