繁体   English   中英

如何仅使用fabric8 docker-maven-plugin从Dockerfile构建Docker镜像?

[英]How just build docker image from Dockerfile with fabric8 docker-maven-plugin?

这是一个插件定义:

        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.26.0</version>
            <configuration>
                <registry>000000000000.dkr.ecr.us-east-1.amazonaws.com/my-aws-registy-0000000000000:latest</registry>
                <images>
                    <image>
                        <name>my-image</name>
                        <build>
                            <tags>
                                <tag>000000000000.dkr.ecr.us-east-1.amazonaws.com/my-aws-registy-0000000000000:latest</tag>
                            </tags>
                            <dockerFileDir>${project.build.directory}</dockerFileDir>
                        </build>
                    </image>
                </images>
            </configuration>
        </plugin>

在资源阶段Dockerfile ,将Dockerfile复制到target 当我尝试调用docker:build目标时,我得到了:

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.25.2:build (default-cli)
on project my-project: Execution default-cli of goal
io.fabric8:docker-maven-plugin:0.25.2:build failed: A tar file cannot include itself. -> [Help 1]

我想要的只是简单地执行docker build -t . 通过Maven命令, 没有任何插件打包/构建/组装目标(或子目标)。 是的,这个插件有很多可能性,但是我只需要docker build而无需任何tar存档,这必须从target文件夹中完成。

怎么做???

泊坞窗的作用是将应添加到映像的所有文件组装成tar文件,并将其发送到泊坞窗守护程序以构建映像。

插件在target文件夹的子目录(即${project.build.directory} )中创建此tar文件。 将目标文件夹作为docker插件的基础隐式包括创建的tar文件,因此会出现错误。

我在项目中所做的是将应添加到映像中的所有文件( ADD / COPY )和Dockerfile${project.build.directory}/dockerfile目录,然后使用<dockerFileDir>${project.build.directory}/dockfile</dockerFileDir>创建映像<dockerFileDir>${project.build.directory}/dockfile</dockerFileDir>

为什么不使用exec-maven-plugin调用docker本身?

我遇到了与您相同的问题,发现如果将Dockerfile放在目标文件夹之外,则可以工作,例如

<dockerFile>${project.basedir}/Dockerfile</dockerFile>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM