Как получить детали изображений Docker, которые построены с использованием плагина fabric8 maven? - PullRequest
0 голосов
/ 27 июня 2018

В нашем проекте мы создаем образы докеров, отправляем их в реестр с помощью плагина fabric8 maven. У нас есть требование, в котором нам нужно выяснить детали каждого изображения (имя, тег, реестр, помещенный в и т. Д.), Которое создается в сборке проекта.
Есть ли в fabric8 нестандартное решение для этого? или у нас есть какие-либо java API fabric8, которые мы можем использовать и интегрировать в существующий плагин maven для получения такой информации?

1 Ответ

0 голосов
/ 04 августа 2018

Насколько я знаю, нет никакой возможности получить такую ​​информацию от самого плагина. Но при создании образов Docker с fabric8 docker-maven-plugin в папке target/ по умолчанию создается иерархия, подобная следующей:

target
├── docker
│   ├── build.timestamp
│   └── my
│       └── registry
│           ├── image1
│           │   ├── tag1
│           │   │   ├── build
│           │   │   │   └── Dockerfile
│           │   │   ├── tmp
│           │   │   │   └── docker-build.tar
│           │   │   └── work
│           │   └── tag2
│           │       ├── build
│           │       │   └── Dockerfile
│           │       ├── tmp
│           │       │   └── docker-build.tar
│           │       └── work
│           ├── image2
│           │   ├── tag1
│           │   │   ├── ...
...         ... ... ...

В этом примере было построено 3 изображения:

  • my/registry/image1:tag1
  • my/registry/image1:tag2
  • my/registry/image2:tag1

Таким образом, просмотр этой иерархии может информировать вас об именах изображений, тегах и реестрах. Я согласен, что это не самое чистое решение.

Кроме того, вы можете использовать spotify dockerfile-maven-plugin (https://github.com/spotify/dockerfile-maven),, потому что он создает docker-info JAR, содержащий то, что вы ищете:

META-INF/
META-INF/MANIFEST.MF
META-INF/docker/
META-INF/docker/my/registry/
META-INF/docker/my/registry/image1/
META-INF/docker/my/registry/image1/image-name
META-INF/docker/my/registry/image1/repository
META-INF/docker/my/registry/image1/tag
META-INF/docker/my/registry/image1/image-id
META-INF/maven/
META-INF/maven/my/registry/
META-INF/maven/my/registry/image1/
META-INF/maven/my/registry/image1/pom.xml
META-INF/maven/my/registry/image1/pom.properties

Этот docker-info JAR может быть затем помещен в менеджер репозитория для помощи в получении информации о встроенных изображениях и, кроме того, для создания версий ваших различных сборок.

...