Плагин Maven Dockerfile не может пометить изображение - PullRequest
0 голосов
/ 27 августа 2018

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

Не удалось выполнить цель com.spotify: dockerfile-maven-plugin:1.4.4: тег (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

1 Ответ

0 голосов
/ 01 апреля 2019

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

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

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

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

docker image ls

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

<configuration>
    <skipDockerInfo>true</skipDockerInfo>
</configuration>
...