Плагин Fabric8 Maven - Как передать --rm в параметры сборки?
Мы используем io.fabric8:docker-maven-plugin:0.27.2
построить наши образы докеров.
Просто интересно как пройти rm
в buildoptions? Я хочу очистить все промежуточные (mvn docker:build
команда
REPOSITORY TAG IMAGE ID CREATED SIZE
myproject/baseimage latest baa18e544738 3 days ago 1.53GB
<none> <none> c98ecb5bc381 3 days ago 784MB
<none> <none> 14d3f81c4bc0 4 days ago 533MB
<none> <none> 9b07174fc67a 4 days ago 532MB
Я пытался передать что-то вроде этого.
<buildoptions>
<rm>true</rm>
</buildoptions>
эквивалент:
docker build --rm -f Dockerfile -t myproject/baseImage:latest .
Документация не очень понятна -> http://dmp.fabric8.io/
Полная настройка pom.xml:
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.27.2</version>
<extensions>true</extensions>
<configuration>
<verbose>true</verbose>
<images>
<image>
<name>myproject/baseimage</name>
<build>
<tags>
<tag>latest</tag>
</tags>
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
<buildOptions>
<rm>true</rm>
</buildOptions>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>docker:build</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Я пробовал кучу вещей, включая передачу одной и той же переменной в свойствах maven. Но ничего не сработало.
<docker.buildoptions.rm>true</docker.buildoptions.rm>
Любая помощь очень ценится!
1 ответ
Как упомянуто в документации, есть перечисление cleanup
который удаляет висящие (без тегов) изображения после каждой сборки (включая любые контейнеры, созданные из них). Может быть установлено true
, false
а также try
который пытается удалить старое изображение, но не завершает сборку, если это невозможно, например, потому что изображение все еще используется работающим контейнером. Вы можете установить его в вашей конфигурации сборки следующим образом:
<build>
<from>${image}</from>
<labels>
<dmp.version>${project.version}</dmp.version>
<dmp.name>${project.artifactId}</dmp.name>
</labels>
<assembly>
<descriptor>assembly.xml</descriptor>
</assembly>
...
<cleanup>true</cleanup>
</build>