Google开源其Java容器化工具Jib,简化镜像构建全流程
容器的出现让 Java开发人员比以往任何时候都更接近“编写一次,到处运行”的工作流程,但要对 Java应用程序进行容器化并非易事:你必须编写 Dockerfile,以 root身份运行 Docker守护进程,等待构建完成,最后将镜像推送到远程注册中心。但并非所有的 Java开发人员都是容器专家,像以前那样只需要构建一个 JAR包的日子已经结束了吗?
为了应对这一挑战,谷歌开源了一个 Java容器化工具 Jib,有了这个工具,Java开发人员可以使用他们熟悉的 Java工具来构建容器。Jib是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤。它不需要你编写 Dockerfile或安装 Docker,而且可以直接集成到 Maven和 Gradle中——只需要将插件添加到构建中,就可以立即将 Java应用程序容器化。
Docker构建流程:
Jib构建流程:
Jib如何让开发变得更美好
Jib利用了 Docker镜像的分层机制,将其与构建系统集成,并通过以下方式优化 Java容器镜像的构建:
简单——Jib使用 Java开发,并作为 Maven或 Gradle的一部分运行。你不需要编写 Dockerfile或运行 Docker守护进程,甚至无需创建包含所有依赖的大 JAR包。因为 Jib与 Java构建过程紧密集成,所以它可以访问到打包应用程序所需的所有信息。在后续的容器构建期间,它将自动选择 Java构建过的任何变体。
快速——Jib利用镜像分层和注册表缓存来实现快速、增量的构建。它读取你的构建配置,将你的应用程序组织到不同的层(依赖项、资源、类)中,并只重新构建和推送发生变更的层。在项目进行快速迭代时,Jib只讲发生变更的层(而不是整个应用程序)推送到注册表来节省宝贵的构建时间。
可重现——Jib支持根据 Maven和 Gradle的构建元数据进行声明式的容器镜像构建,因此,只要输入保持不变,就可以通过配置重复创建相同的镜像。
如何使用 Jib来容器化你的应用程序
Jib可作为 Maven和 Gradle的插件使用,并且只需要做出最少的配置。只需将插件添加到构建定义中并配置目标镜像即可。如果要将镜像推送到私有注册中心,要为 Jib配置所需的秘钥。最简单的方法是使用 docker-credential-gcr之类的凭证助手。Jib还提供了其他的一些规则,用于将镜像构建到 Docker守护进程。
在 Maven 中使用 Jib:
com.google.cloud.tools
jib-maven-plugin
0.9.0
gcr.io/my-project/image-built-with-jib
# Builds to a container image registry.
$ mvn compile jib:build
# Builds to a Docker daemon.
$ mvn compile jib:dockerBuild
在 Gradle 中使用 Jib:
plugins {
id 'com.google.cloud.tools.jib' version '0.9.0'
}
jib.to.image = 'gcr.io/my-project/image-built-with-jib'
# Builds to a container image registry.
$ gradle jib
# Builds to a Docker daemon.
$ gradle jibDockerBuild
Jib项目地址:github.com/GoogleContainerTools/jib
文末重点推荐我们精心打磨的 Kotlin课程。Kotlin 可以开发强大的服务器端应用。简明和表现力强的代码,与 Java 的完全兼容和平滑的学习曲线足以让程序员选择 Kotlin 在服务器端编程。Kotlin 支持安全类型推断和委托属性,引入了协程的概念可以编写高可用服务,还有大量的第三方框架可用,比如 Spring、Vert.x、Ktor、kotlinx.html 等。最后,Kotlin 是 JetBrains 的亲儿子,自然有强大的 IDE 支持。
福利一:限时优惠价¥68,原价¥129,7 月 21 日恢复原价
福利二:每邀请一位好友购买,你可获得 24 元现金返现,多邀多得,上不封顶,立即提现(提现流程:极客时间 App - 我的 - 分享有赏)
扫描下图二维码或点击阅读原文,试看或订阅课程。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 暖暖新家暖暖年 7970426
- 2 美国小哥警告中国不要学美国糟粕 7987331
- 3 美国想要TikTok50%股份 商务部回应 7846024
- 4 年味渐浓 各地举办多种活动迎春节 7713072
- 5 李谷一回应缺席春晚:对不起大家 7613456
- 6 男子花30多万开俄货店 1个月就后悔 7547864
- 7 柯洁退赛无缘冠军 中国围棋协会回应 7482967
- 8 杨紫娜扎撞高定了 7396470
- 9 柯洁暴怒质问裁判 7281463
- 10 女子在高校工作16年未被缴养老险 7164462