在我们的项目中,我们创建docker映像,使用fabric8
maven插件推送到注册表。我们有一个要求,我们需要找出在项目构建中创建的每个图像的详细信息(名称,标签,推送到注册表等)。
fabric8
中是否有任何现成的解决方案?还是我们有fabric8
的任何Java API可用,我们可以使用它们并将它们集成到我们现有的maven插件中以获得此类信息?
答案 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放入存储库管理器中,以帮助检索有关已构建映像的信息,并且还可以对不同的构建进行版本控制。