在Windows 10的容器依赖关系的Java代码

我的目标是将我的java代码和所有jar添加到容器中,并在运行容器时运行代码。 我如何做到这一点?

免责声明:我一直没有使用Windows容器,但所描述的方法应该仍然工作。

我个人开始使用多阶段构build来取得好的结果。 使用多阶段构build,您可以使用不同的图像来构build工件,在这种情况下是一个胖的jar ,然后将其复制到用于运行应用程序的其他图像。

FROM maven:3-jdk-8 as builder WORKDIR /app ADD pom.xml /app/ # To cache all the dependencies until pom.xml changes # Does not work perfectly RUN mvn dependency:go-offline dependency:resolve ADD . /app/ RUN mvn package -D skipTests=true FROM openjdk:8-slim COPY --from=builder /app/target/my-app-0.0.1-SNAPSHOT.jar /app/app.jar CMD ["java", "-jar", "/app/app.jar"] 

在这个示例应用程序中,它基于Spring Boot,因此它会使用maven package命令自动创build一个fat jar。 对于你的应用程序,你可能需要设置一些插件来创build胖jar子。

所以我们的想法是尽量提供尽可能小的图像来实际运行应用程序,而不需要额外的构build时间工具。