今天给大家介绍的是由Google出品的容器镜像构建类库--Jib, 通过Jib可以非常简单快速的为你的Java应用构建Docker 和 OCI 镜像, 无需深入学习docker, 无需编写Dockerfile, 以 Maven插件、Gradle插件和Java lib的形式提供。
Fast- 快速部署您的更改。
Jib将您的应用程序分成多个层,从类中分离依赖项。现在您不必等待Docker重建整个Java应用程序 - 只需部署更改的层即可。
Reproducible- 使用相同内容重建容器图像始终生成相同的图像。
不用担心再次触发不必要的更新。
Daemonless- 减少CLI依赖性。
从Maven或Gradle中构建Docker镜像,然后推送到您选择的任何注册中心。
不再编写Dockerfiles并调用docker build / push。
接下来以Maven为例, 演示构建流程:
1, 开始之前
jib依赖 docker registry, 为方便演示, 这里在本地搭建一个docker 容器注册中心, 命令如下:
在docker hub 官方容器中心, 拉取java8的容器镜像, 并推送到本地注册中心, 步骤如下:
2. 添加插件
在你的maven项目中, 将插件添加到pom.xml文件中, 如下:
PS: 首次添加插件时需要下载依赖到本地, 稍等一下即可 !
这里开发工具以IDEA community 2019, Jib插件添加成功后可以idea的maven视图查看, 如下:
3, 执行构建
这里的代码非常简单是一个spring boot 项目, 只有一个接口, 访问该接口返回hello, 这里只是为了方便演示, 核心代码如下:
在你实际开发过程中, Java应用功能完成时, 就可以直接打包为容器镜像, 并推送到注册中心, 操作如下:
Idea Maven视图 --> Plugins --> jib --> jib:build --> 右键 Run Maven Build
到此Java应用直接构建容器镜像已经完成了, 项目的端口是默认的8080
4, 启动
启动就是docker启动就步骤: pull --> run
启动成功后访问看效果:
在开发Java项目时, 如果需要docker部署测试, 使用Jib真的是太方便了,代码写完, 无需编写dockerfile直接一键构建容器镜像并推送到容器注册中心, 由于容器的天然隔离性, 不会破坏其他的开发测试环境, 测试人员测试发现问题时, 统一的容器环境也能更方便地错误重现, bug调式, 此乃开发必备之利器 !
1, Jib参数
Jib提供很多的参数允许对容器进行个性化配置, 如: jvm参数、docker 端口映射、环境变量、容器内外目录映射等 等, 详情参考: github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#extended-usage
2, 构建并推送容器中心
你可以通过配置插件, 把构建的镜像推送到指定的容器注册中心, 以 Docker Hub Registry为例, 配置如下:
PS: 需要有dokcer hub 的帐号, 且有权限上传容器
详情参考:
github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#using-docker-hub-registry
留言与评论(共有 0 条评论) “” |