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 的构建元数据进行声明式的容器镜像构建,只要输入保持不变,就可以通过配置重复创建相同的镜像。

Google 正式开源 Jib ,帮助 Java 应用快速容器化相关推荐

  1. 5个开源免费的Java项目快速开发脚手架

    概览 : Guns pig RuoYi Jeecg-boot iBase4J Guns 推荐指数 :⭐⭐⭐⭐⭐ 简介 我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久 ...

  2. jroo,已开源,一个java web快速开发工具

    2019独角兽企业重金招聘Python工程师标准>>> 代码在:http://code.google.com/p/jroo/. 演示地址:http://jeecms1.x8.fjjs ...

  3. 一个神奇的开源项目:让照片快速 3D 化!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自机器之心 拿起以往的老照片,无一不是灰蒙蒙的.那么有没有一种方 ...

  4. Java架构师-容器化(一):服务容器化技术-Docker、Cloud Foundry

    一.服务容器化概述 1.应用的种类太多,码头林立 2.微服务 3.康威定律 二.容器技术对比:Docker 与 Cloud Foundry 三.Docker能做什么 四.Docker Client/S ...

  5. Docker学习总结(36)——利用Google开源Java容器化工具Jib构建镜像

    一.前言 容器的出现让Java开发人员比以往任何时候都更接近"编写一次,到处运行"的工作流程,但要对Java应用程序进行容器化并非易事:你必须编写Dockerfile,以root身 ...

  6. 谷歌助力,快速实现 Java 应用容器化

    原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. Google 在 2018 年下旬开源 ...

  7. IBM J9 Java 虚拟机正式开源;PyPI 官方库被发现混入了名字相似的恶意模块

    (点击上方蓝字,快速关注我们) 参考:开源中国.solidot.cnBeta.腾讯科技等 0.IBM J9 Java 虚拟机正式开源,贡献给 Eclipse 基金会管理 去年这个时候,IBM 曾宣布要 ...

  8. fir.im Log Guru 正式开源,快速找到 iOS 应用无法安装的原因

    很开心的宣布 Log Guru 正式开源! Log Guru,是 fir.im 开发团队创造的小轮子,用在 Mac 电脑上的日志获取,Github 地址:FIRHQ/LogGuru. Log Guru ...

  9. ibm java虚拟机_IBM J9 Java虚拟机正式开源,贡献给Eclipse基金会管理

    客岁这个时刻,IBM 曾宣布要开源其 J9 Java 虚拟机 (JVM),并定名为 OpenJ9.近日,我们发明该项目已托管至 GitHub,并且可以看到,OpenJ9 已供献给 Eclipse 基金 ...

最新文章

  1. 2022-2028年中国抗菌不锈钢行业研究及前瞻分析报告
  2. 纯css实现responsive list -- 魔力calc
  3. SAP FBCJ现金日记帐增强操作手册
  4. Azure Cosmos DB技术性解读
  5. 二分查找离左边元素最近的(可以等于)
  6. java restful开发规范_restful api 开发规范
  7. mac下打开多个相同应用程序
  8. linux ip协议栈 漏洞,【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)...
  9. Tensorflow训练和预测中的BN层的坑(转载)
  10. 将客户端将IE9强制为IE7
  11. gb28181的sip通信
  12. 安装apache重启的时候,报错端口被占用,错误1
  13. OpenCL学习入门
  14. ModelAndView 详解
  15. H5 微信分享显示标题和图标
  16. 华尔街不是中国的机会
  17. ubuntu16.04 禁用Guest用户
  18. 宝宝培养 IOS APP 上线
  19. 微信支付-账户验证及签约指引明细
  20. javascript instaceof

热门文章

  1. mysql 学生成绩等级_JSP+SSM+Mysql实现的学生成绩管理系统
  2. java和c++的区别大吗_小自考本科含金量高吗?小自考和大自考有什么区别?
  3. shell预先定义的特殊变量
  4. 《Python Cookbook 3rd》笔记(3.16):结合时区的日期操作
  5. STL源码剖析 Set相关算法 并集 set_union|交集 set_intersection|差集 set_difference |对称差集 set_symmetric_difference
  6. Key_handle的学习
  7. 穷人靠力,富人借力!看完你将明白一切!
  8. 集合拷贝通用方法、list<A> 转换成 list<B> (属性相同)
  9. vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例
  10. 使用delegate类型设计自定义事件