我的目标是将我的java代码和所有jars添加到一个容器中,并在运行容器时运行这些代码。我怎样才能做到这一点?
发布于 2017-11-21 07:32:12
免责声明:我还没有使用Windows容器,但是所描述的方法应该仍然有效。
我个人已经开始使用多阶段构建来获得良好的结果。对于多阶段构建,您可以使用不同的映像来构建工件,在本例中是脂肪罐,然后将其复制到用于运行应用程序的其他映像中。
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,因此它使用maven package命令自动创建一个胖jar。对于你的应用程序,你可能需要设置一些插件来创建胖罐子。
因此,我们的想法是尝试提供尽可能苗条的映像来实际运行应用程序,而不需要任何额外的构建时工具。
https://stackoverflow.com/questions/47405873
复制相似问题