首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法标记图像的Maven dockerfile插件

无法标记图像的Maven dockerfile插件
EN

Stack Overflow用户
提问于 2018-08-27 05:32:53
回答 1查看 2.2K关注 0票数 0

我正在尝试将maven dockerfile插件集成到我的项目中。我的maven项目下有多个模块。我已经为我想要构建的模块修改了pom.xml,并对图像进行了如下标记。运行mvn dockerfile:build命令将在目标文件夹下生成一个创建docker-info.jar。我不确定映像是在哪里生成的,当我试图运行mvn dockerfile:tag命令时,我会看到下面的错误。

未能执行项目drs-web上的目标com.spotify:dockerfile-maven-plugin:1.4.4:tag (默认-cli):目标com.spotify:dockerfile-maven-plugin:1.4.4:tag丢失或无效

Pom.xml:

代码语言:javascript
运行
复制
    <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>${docker.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>build</id>
                            <goals>
                                <goal>build</goal>
                            </goals>
                            <configuration>
                                <buildArgs>
                                    <WAR_FILE>${project.build.finalName}.war</WAR_FILE>
                                </buildArgs>
                            </configuration>
                        </execution>
                        <execution>
                            <id>tag</id>
                            <goals>
                                <goal>tag</goal>
                            </goals>
                            <configuration>
                                <repository>XXX/XXX-api</repository>
                                <tag>${project.version}</tag>
                            </configuration>
                        </execution>
                    </executions>
            </plugin>

Dockerfile:

代码语言:javascript
运行
复制
FROM tomcat:9.0.10-jre8-slim
ENV CATALINA_HOME /usr/local/tomcat
MAINTAINER XXX
EXPOSE 8080
ADD target/${WAR_FILE} ${CATALINA_HOME}/webapps/XXX-api.war
EN

回答 1

Stack Overflow用户

发布于 2019-04-01 17:47:07

要修复错误,您应该在pom.xml的两个部分中使用相同的参数。您没有为构建目标定义存储库的名称:

代码语言:javascript
运行
复制
<configuration>
    <repository>XXX/XXX-api</repository>
</configuration>

docker-info.jar是在您的目标目录中创建的,这很可能意味着成功地完成了码头映像的创建。

图像应该以"XXX/XXX-api“的名称放在您的Docker注册表中,您可以使用以下命令从控制台中检查它:

代码语言:javascript
运行
复制
docker image ls

通过将以下参数添加到dockerfile-maven-plugin的配置部分,可以避免生成docker-info.jar

代码语言:javascript
运行
复制
<configuration>
    <skipDockerInfo>true</skipDockerInfo>
</configuration>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52033059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档