Google Jib 用于封装 Java 应用,在去年夏天发布测试版。Jib 是一个快速而且简单的容器图像构建器,他整合了将应用程序打包成镜像的所有步骤,而且支持开发人员使用其他 Java 容器工具构建镜像。
Google 软件工程师陈庆阳在一片博文中写到:“去年,我们开始让人员更好的管理 Java 应用。我们注意到,开发人员使用现有的工具构建时间都很慢。Dockerfiles 的文档乱七八糟。容器体积也很大”。
Jib 1.0.0 旨在降低 Docker 的上手难度。他可以有效的避免安装 Docker、运行 Docker 守护程序和编写 Dockerfile 这些步骤 。
Jib 1.0.0 通过将 Java 程序分为多个层,来进行更精简的增量构建方式来实现这一点(传统上,Java 应用程序被构建为包含应用程序的单个 Jar 的镜像层)。当应用程序发生改变,只需要重构你的改变的部分,而不是整个应用程序。
Jib 1.0.0 作为 Maven 和 Gradle 插件,他运行在 Java 的 Jib Core 之上。发布后,Jib 将不单单作为 Maven 和 Gradle 插件。你可以为 Java 的任何程序构建容器,而无需使用 Docker 守护进程。
在正式版中,Jib 还可以在不进行任何额外配追的情况下运行 WAR 文件。容器中的默认应用服务器是 Jetty,同时,也支持不同的服务器,例如:Tomcat。
JIB 1.0.0 还与 Skaffold 命令行工具集成在一起,用于 Kubernetes 的持续开发。Skaffold 通过使用 Jib 将应用程序封装到容器内,在检测到应用程序发生改变是,将其部署到 Kubernetes 。
目前 Google 提供了相关 示例 和 CodeLab,用于介绍如何在 Kubernetes 部署 Spring Boot 和 Microaut 应用程序。
领取专属 10元无门槛券
私享最新 技术干货