写点什么

用 Jib 容器化 Java 应用程序

  • 2020-09-02
  • 本文字数:1105 字

    阅读完需:约 4 分钟

用Jib容器化Java应用程序

Jib是一个用于构建 Java 应用程序空间得到了节省并优化了 Docker 和 OCI 镜像的开源工具,它一直在不断添加新功能,以进一步改善开发和 CI/CD 的体验。其中的一些亮点包括 Jib 插件扩展框架、对流行应用程序框架的原生支持、CI/CD 性能的改进、以及使用Skaffold在本地 Kubernetes 上增强的开发体验。

Jib 插件扩展框架

Jib 真正的强大之处在于它能够以声明的方式将 Java 应用程序重新构建成优化了的 Docker 和 OCI 镜像,并应用容器最佳实践,而无需 Docker 守护进程。借助新的 Jib 插件扩展框架,用户现在可以扩展 Jib 来调整 Java 应用程序镜像的各个方面。扩展框架基于容器构建计划规范(Container Build Plan Specification),这是一个通用的、与工具无关的规范,可用于描述镜像的构建计划。Jib 核心团队已经发布了一些有用的扩展,比如GraalVM原生镜像扩展,可用于快速启动运行在容器中的 Java 应用程序。新的扩展可以作为 Maven 和 Gradle 的第三方插件来构建和贡献。

对应用程序框架的原生支持

现在,一些流行的应用程序框架(如Spring BootQuarkus)都获得了 Jib 的原生支持。对于 Spring Boot,Jib 中的打包容器化模式是通过容器化原始的瘦应用程序 JAR 而不是 Spring Boot JAR 来提供开箱即用的支持,后者往往不适合容器化。Jib 核心团队还发布了支持 Quarkus 的一方 JibMavenGradle扩展,从而可以完全控制如何配置和构建 Quarkus 镜像。请注意,这些扩展仍处于试验阶段,可能无法构建复杂的项目。

增强的 CI/CD 支持

由于 Jib 不依赖 Docker 守护进程,它可以创建和推送镜像,而无需下载相应的基础镜像。例如,一个典型的基于 Java 的 Dockerfile 将包含一个诸如FROM openjdk:11-jre-slim这样的行来指定基础镜像。如果 Docker 镜像缓存中没有这个基础镜像,Docker 守护程序就必须下载它,这是 CI/CD 环境中的一种典型情况。但是 Jib 有一些内置的智能功能,可以最大限度地避免下载基础镜像。将 Jib 集成到 CI/CD 管道中,可以减少构建时间,节省网络带宽和存储空间。

使用 Skaffold 提供本地 Kubernetes 开发支持

Skaffold 是一个优化了的工具,它提供了一种快速且可重复的本地 Kubernetes 开发工作流,现在可以与 Jib 集成。这种集成使 Skaffold 可以对 Java 镜像进行零配置自动同步。通过自动同步,Jib 可以将类文件更改和资源文件更改同步到正在运行的容器中,而无需重新构建和重新部署容器/舱室(Container/Pod)。请注意,该设置仅适用于分解了的非 WAR 应用程序,这是 Jib 的默认构建模式。此外,底层 Java 应用程序服务器还应支持重新加载或重新启动。


该项目的示例部分提供了一些使用 Jib 的入门示例。


原文链接:


Containerizing Java Applications with Jib


2020-09-02 14:392203

评论

发布
暂无评论
发现更多内容

CFD专栏丨汽车镂空式后尾翼的风噪研究

Altair RapidMiner

汽车 仿真 CFD 风噪 流体仿真

19:30见!线上直击「DeepSeek+亚马逊云科技」王炸魅力

科技热闻

低代码与智能化的结合,如何让企业数字化落地?

天津汇柏科技有限公司

低代码 数字化

国科云:浅谈DNS在IPv6改造过程中的重要性

国科云

改进财务团队的预测分析能力,驾驭未来市场的不确定性

智达方通

企业管理 全面预算管理 财务规划

【HarmonyOS Next】鸿蒙应用加载SVG文件显示图标

GeorgeGcs

SVG 加载 鸿蒙应用 显示图标

【HarmonyOS Next】鸿蒙加固方案调研和分析

GeorgeGcs

鸿蒙 分析 加固 方案调研

仅需3步,稳定快速!火山引擎边缘大模型网关全面支持DeepSeek系列模型

火山引擎开发者社区

KubeCon Europe 2025 | 与华为云一起,开启AI-Native Cloud全新体验

华为云开源

云原生 kubeedge 华为云开源

YashanDB 故障诊断

YashanDB

数据库 yashandb

监控系统原理揭秘-数据运算篇

京东科技开发者

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动

sysin

esxi

面试官:工作中优化MySQL的手段有哪些?

王磊

引入JaCoCo导致的类型转换问题分析

京东科技开发者

技术沙龙演讲实录 | 张俊钦:火山引擎边缘智能,联通大模型的物理世界

火山引擎开发者社区

案例分析:AI算力租赁可以用于哪些行业?

Ogcloud

算力 AI算力 AI算力租赁 算力租赁

VMware ESXi 8.0e 发布 - 领先的裸机 Hypervisor

sysin

esxi

AI口语陪练APP的接口优化

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

接入5家DeepSeek模型提供商!火山引擎边缘大模型网关助力一键畅享大模型

火山引擎开发者社区

高并发场景下的库存管理,理论与实战能否兼得?

京东科技开发者

YashanDB yasrman恢复

YashanDB

数据库 yashandb

【HarmonyOS Next】鸿蒙应用常规面试题和答辩思路参考

GeorgeGcs

鸿蒙应用 常规面试题 答辩思路

从 DeepSeek 敏感信息泄露谈可观测系统的数据安全预防

阿里巴巴云原生

阿里云 云原生 可观测

YashanDB yasrman备份

YashanDB

数据库 yashandb

10分钟搞定AI助手!ToDesk/顺网云/海马云操作哪家更靠谱?

小喵子

云电脑 AIGC AI 绘图 ToDesk云电脑

NPU上如何使能pytorch图模式

zjun

夏志刚合作交流企业

管理在线

创新管理体系 精益管理体系 战略管理体系 标准化管理体系 培训管理体系

【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解

GeorgeGcs

DialogHub

【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解

GeorgeGcs

DialogHub OpenCustomDialog CustomDialog

VMware Live Site Recovery 9.0.2.2 发布 - 数据中心灾难恢复 (DR)

sysin

srm

音乐NFT系统的安全性

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

用Jib容器化Java应用程序_容器_Uday Tatiraju_InfoQ精选文章