Maven包装types`docker`是否存在?

我想弄清楚如何构buildDocker镜像作为Maven构build过程的一部分。 基本上,我想创build一个构buildDocker镜像的Maven项目。 我认为这是有道理的。

但包装types应该是什么样子? 这显然不是jarwarmaven-plugin 。 我试图与docker但不存在。

我应该去pom还是有办法configuration自定义的包types?

因为我们正在生产一个输出 – 一个Docker镜像 – 在普通的pomtypes(父类,子类,…)中通常不是这样。

哇,这是雄心勃勃! 当你说你想使用Maven构builddocker镜像时,我假设你不会使用docker build或其他docker命令来生成最终的镜像。 Docker镜像是TAR文件,因此您可以使用Maven Assembly插件来生成所需的tar文件镜像。

在这种情况下,您的项目的“types”将是“POM”,以便项目本身生成一个POM文件,其中包含有关它如何构build(如名称和版本号)的信息。 Assembly插件还会生成并附加相应的TAR文件,以便在使用mvn deploy或引用该软件包的其他命令时,将包含关联的TAR文件。

如果您使用docker命令来构build映像,那么您可能将不得不编写一个自定义的Maven扩展 – 具体取决于您在运行mvn deploy时要执行的操作。 这实际上取决于你的最终目标,但是如果你在Docker的范围内使用它,那么你可以使用像dockerfile-maven这样的插件,这将允许你的构build驱动docker build和/或docker push的docker工作stream。

Spotify创build了一个dockerfile-maven插件 ,允许您使用maven构build和发布Docker镜像。 在项目页面上有一个例子和许多其他有用的信息。