Плагин Maven dockerfile не может пометить изображение

Я пытаюсь интегрировать плагин maven dockerfile в свой проект. У меня есть несколько модулей в моем проекте maven. Я изменил pom.xml для модуля, который хочу создать, и пометить изображения тегами, как показано ниже. Выполнение команды mvn dockerfile:build создает docker-info.jar в целевой папке. Я не уверен, где создаются изображения, и когда я пытаюсь запустить команду mvn dockerfile:tag, я вижу ошибку ниже.

Не удалось выполнить цель com.spotify: dockerfile-maven-plugin: 1.4.4: tag (default-cli) в проекте drs-web: параметры «репозиторий» для цели com.spotify: dockerfile-maven-plugin: 1.4.4 : теги отсутствуют или недействительны

Pom.xml:

    <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:

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

person Abhi.G    schedule 27.08.2018    source источник


Ответы (1)


Чтобы исправить ошибку, вы должны использовать одни и те же параметры в двух разделах вашего pom.xml. Вы не определили имя репозитория для цели сборки:

<configuration>
    <repository>XXX/XXX-api</repository>
</configuration>

Тот факт, что docker-info.jar был создан в вашем целевом каталоге, скорее всего, означает, что создание образа докера завершено успешно.

Образ нужно поместить в реестр Docker с именем «XXX / XXX-api», и вы можете проверить его с консоли с помощью команды:

docker image ls

P.S. Вы можете избежать создания docker-info.jar, добавив следующий параметр в раздел конфигурации dockerfile-maven-plugin:

<configuration>
    <skipDockerInfo>true</skipDockerInfo>
</configuration>
person Alexander Sorkin    schedule 01.04.2019