我想通过docker容器提供我的spring启动应用程序,在设置时,它需要maven插件(fabric8)来为容器构建docker镜像,我不明白,
构建docker镜像有两种方法
1.使用Maven构建Docker镜像
添加dockerfile maven插件
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
使用命令行构建docker镜像
./mvnw install dockerfile:build
2.使用Docker命令构建Docker镜像
Docker镜像是Spring Boot无法提供的,因为Spring Boot本身就是一个运行时框架,它告诉JVM如何运行你的代码。相反,Docker是关于如何运送和运行JVM本身。因此,Spring Boot是一个运行时框架,Docker镜像不是您在运行时执行的操作。您的工件(和Spring Boot)尚未运行时,您只能在构建时构建Docker镜像。
Maven是一个构建工具,因此当Maven执行构建时,它可以包括在整个构建过程中构建Docker镜像。这不仅可以使用Maven,还可以使用任何具有Docker插件的构建工具。 Maven只是一种流行的构建工具,因此它经常用于其他框架手册,但实际上Maven,Spring Boot和Docker之间没有依赖关系。 Maven只是拥有构建Spring启动应用程序并构建Docker镜像的所有工具。
要对您的应用进行dockerize,您不需要Maven,但您需要以某种方式包含构建Docker镜像以构建应用程序的脚本。