gpt4 book ai didi

java - 运行基础 docker 镜像的 Main 类

转载 作者:行者123 更新时间:2023-12-02 09:13:56 24 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,其中包含一个主类。我的 Docker 文件如下:

FROM docker.io/openjdk:11-jre-slim
EXPOSE 8082
EXPOSE 8443
ADD target/base-application.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Dspring.profiles.active=prod -jar /app.jar

我正在使用此 Docker 文件创建 Docker 镜像。我们假设这个 docker 文件是 Docker1。

我有另一个 Spring Boot 应用程序(没有 Main 类),其 Docker 文件如下:

FROM Docker1:0.0.1
EXPOSE 8443
ADD target/child-application.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Dspring.profiles.active=dev -jar /app.jar

我使用 Docker1 作为第二个应用程序的 docker 镜像的基础镜像。当我尝试运行第二个 docker 镜像时,出现错误“/app.jar 中没有主 list 属性”。你能帮我通过运行第二个 Docker 镜像来运行 Docker1 的 Main 类吗?

最佳答案

所以你想从 target/base-application.jar 文件运行主类。 Docker2 中的以下行将 base-application.jar 替换为 child-application.jar

ADD target/child-application.jar app.jar

要解决此问题,您可以将第二个 Docker 文件修改为:

FROM Docker1:0.0.1
EXPOSE 8443
ADD target/child-application.jar child-application.jar
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Dspring.profiles.active=dev -jar /app.jar

关于java - 运行基础 docker 镜像的 Main 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59157304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com