【问题标题】:fabric8-maven-plugin buildArgs does not workfabric8-maven-plugin buildArgs 不起作用
【发布时间】:2018-10-11 04:34:47
【问题描述】:
[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.22.1:build (default-cli) on project auth-server: Unable to parse configuration of mojo io.fabric8:docker-maven-plugin:0.22.1:build for parameter buildArgs: Cannot find 'buildArgs' in class io.fabric8.maven.docker.config.BuildImageConfiguration -> [Help 1]

下面是我的构建配置

        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.22.1</version>
            <configuration>
                <machine>
                    <name>default</name>
                    <autoCreate>true</autoCreate>
                    <createOptions>
                        <driver>virtualbox</driver>
                        <virtualbox-cpu-count>2</virtualbox-cpu-count>
                    </createOptions>
                </machine>
                <verbose>true</verbose>
                <images>
                    <image>
                        <name>${docker.image.prefix}/${project.artifactId}</name>
                        <build>
                            <buildArgs>
                                <finalName>${project.build.finalName}.jar</finalName>
                            </buildArgs>
                            <dockerFile>Dockerfile</dockerFile>
                            <assembly>
                                <descriptorRef>artifact</descriptorRef>
                            </assembly>
                        </build>
                    </image>
                </images>
            </configuration>
        </plugin>

更新 2:

Unable to parse configuration of mojo io.fabric8:docker-maven-plugin:0.22.1:build for parameter docker.buildArg.myFinalName: Cannot find 'docker.buildArg.myFinalName' in class io.fabric8.maven.docker.config.BuildImageConfiguration -> [Help 1]

新配置

        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.22.1</version>
            <configuration>
                <machine>
                    <name>default</name>
                    <autoCreate>true</autoCreate>
                    <createOptions>
                        <driver>virtualbox</driver>
                        <virtualbox-cpu-count>2</virtualbox-cpu-count>
                    </createOptions>
                </machine>
                <verbose>true</verbose>
                <images>
                    <image>

                        <name>${docker.image.prefix}:${project.artifactId}</name>
                        <build>
                            <docker.buildArg.myFinalName>${project.build.finalName}.${artifact.extension}</docker.buildArg.myFinalName>
                            <dockerFile>Dockerfile</dockerFile>
                            <assembly>
                                <descriptorRef>artifact</descriptorRef>
                            </assembly>
                        </build>
                    </image>
                </images>
            </configuration>
        </plugin>

【问题讨论】:

标签: maven docker fabric8


【解决方案1】:

下面为我工作

pom.xml

<images>
    <image>
        <name>${docker.image.prefix}/${docker.image.name}</name>
        <build>
            <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir>
            <!--copies artifact to docker build dir in target-->
            <assembly>
                <descriptorRef>artifact</descriptorRef>
            </assembly>
            <args>
                <IMAGE_VERSION>${build.version}</IMAGE_VERSION>
            </args>
            <tags>
                <tag>latest</tag>
                <tag>${project.version}</tag>
            </tags>
        </build>
    </image>
</images>

Dockerfile

FROM ...
ARG IMAGE_VERSION
VOLUME /tmp
ADD maven/spring-boot-docker-${IMAGE_VERSION}.jar myapp.jar
....

【讨论】:

    【解决方案2】:

    以下工作。

    <images>
        <image>
    
            <name>${docker.image.prefix}/${project.artifactId}</name>
            <build>
                <dockerFile>Dockerfile</dockerFile>
                <assembly>
                    <descriptorRef>artifact</descriptorRef>
                </assembly>
                <args>
                    <FINAL_NAME>${project.build.finalName}.${project.packaging}</FINAL_NAME>
                </args>
            </build>
        </image>
    </images>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      • 2015-04-26
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多