如何使用Jib为多模块Spring Boot应用程序构建Docker映像

时间:2020-07-24 14:22:54

标签: java spring-boot docker jib maven-jib

我有一个Spring boot应用程序,其中包含许多模块,例如错误模块,持久性,控制器等,如下所示

--Application
  |
  -- error module
  |
  -- controllers module
  |
  -- Persistancy module
  |
  -- .....

使用以下配置在pom.xml中的Maven三角帆插件为此构建docker映像

    <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>jib-maven-plugin</artifactId>
        <version>2.4.0</version>
        <configuration>
          <to>
            <image>some.repo.io/my_name/jib-test</image>
          </to>
          <container>
            <mainClass>com.a.b.c.Application</mainClass>
            <ports>
              <port>8080</port>
            </ports>
          </container>
        </configuration>
    </plugin>

构建成功。但是当我运行图像时,它的抛出错误Error: Could not find or load the main class com.a.b.c.Application.

如何使用Jib构建图像?我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

在您的pom.xml中,添加:

<modules>
    <module>error</module>
    <module>controllers </module>
    <module>Persistancy </module>
</modules>

然后从终端运行以下命令:

mvn -Pprod verify com.google.cloud.tools:jib-maven-plugin:dockerBuild