Google 本周宣布开源一款新的 Java 工具 Jib , 旨在让开发者使用他们熟悉的工具更轻松地将 Java 应用程序容器化.
在 7 月 9 日发布的博客文章中, Google 软件工程师 Appu Goundan 和 Qingyang Chen 将 Jib 描述为一个容器镜像构建器, 旨在处理将 Java 应用打包到容器中所涉及的所有步骤.
他们表示, 容器使 Java 开发者比以往任何时候都更靠近 "一次编写, 随处运行" 的工作流程, 但容器化 Java 应用却并非易事: 你必须先编写 Dockerfile ,root 后运行 Docker 守护进程, 等待构建完成, 最后将镜像推送至远程注册表. Jib 将处理将应用打包到容器镜像过程中的所有步骤, 它直接与 Maven 和 Gradle Java 开发环境集成, 不需要你编写 Dockerfile 或安装 Docker , 只需将其作为插件添加到你的构建中, 就可以立即将 Java 应用容器化.
Docker 构建流程:
Jib 构建流程:
Jib 利用 Docker 镜像中的分层功能, 以 Maven 和 Gradle 插件形式提供, 通过以下方式优化 Java 容器镜像构建:
简单 - Jib 采用 Java 实现, 并作为 Maven 或 Gradle 构建的一部分运行. 你不需要维护 Dockerfile , 运行 Docker 守护进程, 甚至无需创建包含所有依赖项的 JAR 包.
快速 - Jib 利用镜像分层和注册表缓存来实现快速, 增量构建. 它读取你的构建配置, 将应用分到不同的层中, 只重新构建和推送发生变更的层.
可重现 - Jib 支持根据 Maven 和 Gradle 的构建元数据进行声明式的容器镜像构建, 只要输入保持不变, 就可以通过配置重复创建相同的镜像.
来源: http://news.51cto.com/art/201807/578441.htm