Dockerize我的spring启动应用程序,而不使用maven来构建映像

问题描述 投票:0回答:2

我想通过docker容器提供我的spring启动应用程序,在设置时,它需要maven插件(fabric8)来为容器构建docker镜像,我不明白,

spring maven docker spring-boot dockerfile
2个回答
3
投票

构建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镜像

  • cd进入包含Dockerfile的项目目录
  • 运行maven命令 ./mvnw清理安装
  • 运行docker build命令 码头工人建造。 docker build -f / path / to / Dockerfile

0
投票

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镜像以构建应用程序的脚本。

© www.soinside.com 2019 - 2024. All rights reserved.