Jib是Google开发的对Java应用快速构建镜像的工具。具体地,其支持Maven、Gradle插件等形式
实践
传统地,对Java服务构建镜像时,我们借助Spotify的dockerfile-maven-plugin插件。先将服务打为Jar包,同时编写相应的Dockerfile文件。最后利用该插件通过本地的Docker环境进行镜像构建。从上其实不难看出,对于Java开发者而言上述构建流程非常繁琐,而现在Jib改变了这一现状。其使得开发者无需编写Dockerfile即可快速构建服务镜像并推送至指定仓库。下面即是对一个普通的SpringBoot通过Jib进行镜像构建的例子。其POM配置如下所示。这里补充下我们Java服务的运行端口为8069,故我们同样在POM文件暴露该端口
1 | <?xml version="1.0" encoding="UTF-8"?> |
Jib支持以下功能,具体地
- dockerBuild:构建镜像
- build:构建镜像并推送到远程仓库
现在我们使用Jib插件的build目标来构建镜像并推送到远程仓库
现在我们利用该镜像创建容器,验证下。通过访问服务接口,证明服务运行正常