如何获取使用fabric8 maven插件构建的Docker图像详细信息?

时间:2018-06-27 16:37:16

标签: maven docker fabric8 docker-build

在我们的项目中,我们创建docker映像,使用fabric8 maven插件推送到注册表。我们有一个要求,我们需要找出在项目构建中创建的每个图像的详细信息(名称,标签,推送到注册表等)。
fabric8中是否有任何现成的解决方案?还是我们有fabric8的任何Java API可用,我们可以使用它们并将它们集成到我们现有的maven插件中以获得此类信息?

1 个答案:

答案 0 :(得分:1)

据我所知,没有办法从插件本身获取此类信息。但是,当使用fabric8的{​​{1}}构建Docker映像时,默认情况下会在docker-maven-plugin文件夹上创建如下所示的层次结构:

target/

在此示例中,构建了3张图像:

  • 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 │   │ │   ├── ... ... ... ... ...
  • my/registry/image1:tag1
  • my/registry/image1:tag2

因此,浏览此层次结构可以使您了解图像名称,标签和注册表。我同意这不是最干净的解决方案。

或者,您可以使用my/registry/image2:tag1的{​​{1}}(https://github.com/spotify/dockerfile-maven),因为它会创建一个spotify JAR,其中包含您要查找的内容:

dockerfile-maven-plugin

然后可以将此docker-info JAR放入存储库管理器中,以帮助检索有关已构建映像的信息,并且还可以对不同的构建进行版本控制。