首页 > 解决方案 > 如何在 Spring Boot 项目中创建 docker 镜像

问题描述

我尝试使用 spotify/docker-maven-plugin 没有任何成功。

下面是我的 pom.xml 文件的一部分

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>docker-maven-plugin</artifactId>
  <version>${dockerfile-maven-version}</version>
  <executions>
    <execution>
      <id>default</id>
      <goals>
        <goal>build</goal>
        <goal>push</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <repository>myrepo/maven-docker-spotify</repository>
    <tag>${project.version}</tag>
    <buildArgs>
      <JAR_FILE>${project.build.finalName}-jar-with-dependencies.jar</JAR_FILE>
    </buildArgs>
  </configuration>
</plugin>

标签: springmavenspring-bootdocker

解决方案


您正在使用的spotify/docker-maven-plugin当前处于非活动状态。建议使用spotify/dockerfile-maven-plugin代替。

因此,将 pom.xml 文件的插件部分更改为如下所示

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>dockerfile-maven-plugin</artifactId>
  <version>${dockerfile-maven-version}</version>
  <executions>
    <execution>
      <id>default</id>
      <goals>
        <goal>build</goal>
        <goal>push</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <repository>spotify/foobar</repository>
    <tag>${project.version}</tag>
    <buildArgs>
      <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
    </buildArgs>
  </configuration>
</plugin>

注意:您也可以尝试使用JIB maven 插件,该插件不需要您安装 docker 并且使用最少的配置即可工作。使用 JIB,在命令下运行就足够了

mvn compile com.google.cloud.tools:jib-maven-plugin:0.9.2:dockerBuild

推荐阅读