Google 宣布正式开源 Jib ,帮助 Java 应用快速容器化

IT实战联盟博客:http://blog.100boot.cn 

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 容器镜像构建:

  1. 简单 - Jib 采用 Java 实现,并作为 Maven 或 Gradle 构建的一部分运行。你不需要维护 Dockerfile ,运行 Docker 守护进程,甚至无需创建包含所有依赖项的 JAR 包。

  2. 快速 - Jib 利用镜像分层和注册表缓存来实现快速、增量构建。它读取你的构建配置,将应用分到不同的层中,只重新构建和推送发生变更的层。

  3. 可重现 - Jib 支持根据 Maven 和 Gradle 的构建元数据进行声明式的容器镜像构建,只要输入保持不变,就可以通过配置重复创建相同的镜像。

 

目标

  • 快速 — 快速部署您的更改。Jib 将你的应用程序分成多个层,从类中分离依赖项。你不必等待 Docker 重建整个 Java 应用程序 —— 只需部署更改的层即可

  • 可重现 — 使用相同内容重建容器镜像

  • Daemonless — 减少 CLI 依赖性。从 Maven 或 Gradle 中构建 Docker 镜像,然后推送到你选择的任何注册表,无需编写 Dockerfiles 并调用 docker build/push

 

在 Maven 中使用 Jib:

<plugin>  
    <groupId>com.google.cloud.tools</groupId>  
    <artifactId>jib-maven-plugin</artifactId>  
    <version>0.9.0</version>  
    <configuration>    
        <to>      
            <image>gcr.io/my-project/image-built-with-jib</image>    
        </to>  
    </configuration>
</plugin>
# 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 jibDockerBuil
IT实战联盟博客:http://blog.100boot.cn 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值