как получить информацию об образах докеров, созданных с помощью плагина Fabric8 maven?

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


person Reddysekhar Gaduputi    schedule 27.06.2018    source источник


Ответы (1)


Насколько я знаю, получить такую ​​информацию из самого плагина невозможно. Но при создании образов Docker с docker-maven-plugin fabric8 в папке 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

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

В качестве альтернативы вы можете использовать dockerfile-maven-plugin spotify (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 можно поместить в менеджер репозитория, чтобы облегчить получение информации о построенных образах и, кроме того, для управления версиями ваших различных сборок.

person norbjd    schedule 04.08.2018