Spring boot maven 插件构建映像:如何将 docker 主机、绑定和其他选项作为参数传递给 mvn spring-boot:build-image

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

我有以下 spring-boot-maven-plugin 配置:

<plugin>
    <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <docker>
        <host>tcp://<docker-host>:2375</host>
        </docker>
        <image>
        <buildpacks>
            <buildpack>gcr.io/paketo-buildpacks/amazon-corretto:latest</buildpack>
            <buildpack>paketo-buildpacks/java</buildpack>
        </buildpacks>
        <verboseLogging>true</verboseLogging>       
        <pullPolicy>IF_NOT_PRESENT</pullPolicy>
        <env>                                                                       
           <BP_DEBUG>true</BP_DEBUG>
        </env>          
        <bindings>                               
             <binding>${basedir}/bindings:/platform/bindings</binding>
         </bindings>
        </image>
    </configuration>
    <executions>
       <execution>
          <id>repackage</id>
        <goals>
           <goal>repackage</goal>
        </goals>
        <configuration>
            <classifier>executable</classifier>
        </configuration>
       </execution>
    </executions>
</plugin>

我想将

docker host
bindings
作为args传递给
mvn spring-boot:build-image

我尝试了

-Dspring-boot.build-image.dockerHost
-Dspring-boot.build-image.docker.host
-Dspring-boot.dockerHost
等,但是,对我来说没有任何效果。 我还没有尝试绑定:
${basedir}/bindings:/platform/bindings

我们的要求是将

docker host
bindings
都设置为
mvn spring-boot:build-image
args,以尽可能保持
pom.xml
的通用性。

不确定我在这里错过了什么?

附言将

DOCKER_HOST
设置为
env
变量有效。

此外,我可以使用

${docker.host}
作为主机,使用
${binding}
进行绑定,然后运行以下命令:

mvn spring-boot:build-image -Ddocker.host=mydockerhost:2375   
  -Dbinding="my/absolute-path/to/bindings:platform/bindings"

我想这不是合适的解决方案。

spring-boot docker-image spring-boot-maven-plugin buildpack
1个回答
0
投票

不幸的是,我不认为你可以做得比你已经设想的更好(创建你自己的 maven pom 变量以将值注入插件设置)

最近提出了一个类似的问题,解决方案只是文档

回到您的问题,您可以通过代码或文档看到无法配置

dockerHost
bindings
(尽管正如您提到的env变量
DOCKER_HOST
是一个选项)
通过 Spring 属性。

希望有帮助!

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