作为一个Docker项目,都绕不过Dockerfile文件构建、打标签和发布等操作。如果能够将对Dockerfile文件的这些操作包含进Maven的生命周期管理中,将极大简化Docker项目的构建发布过程。
Dockerfile Maven是Spotify公司提供的一款Maven插件(还包含一个Maven扩展),用以辅助Docker项目(借助于Maven管理)进行Dockerfile文件构建、标签和发布。Spotify公司最早还提供了另外的一款Maven插件docker-maven-plugin,但是该插件已经不再新增特性。Dockerfile Maven将取代过时的docker-maven-plugin插件。本文重点介绍的Dockerfile Maven。
Dockerfile Maven当前的最新版本1.4.0,许可证Apache License 2.0。
1. Dockerfile Maven事实上包含如下两个部分
- 一个Maven插件,其中包含3个goals
- 一个Maven扩展,支持docker-info类型的构件
2. Dockerfile Maven的特性
- 默认,构建Dockerfile的过程包含在mvn package阶段;
- 默认,为Dockerfile打标签的过程包含在mvn package阶段;
- 默认,发布Dockerfile的过程包含在mvn deploy阶段;
- 也可以直接陆续执行:
mvn dockerfile:build
mvn dockerfile:tag
mvn dockerfile:push