写点什么

用 Jib 容器化 Java 应用程序

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

    阅读完需:约 4 分钟

用Jib容器化Java应用程序

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

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:391847

评论

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

【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常

YashanDB

数据库 yashandb 崖山数据库

碳实践|企业组织碳排放因子宝典

AMT企源

数字化转型 双碳 碳管理 碳核算 碳排放

【YashanDB知识库】PHP使用ODBC驱动无法获取长度为256char以上的数据

YashanDB

国产数据库 数据库系统 yashandb 崖山数据库

元宇宙和链游的疯狂故事对经济有什么影响?

区块链开发团队DappNetWork

机器学习:人工智能的子领域之一

天津汇柏科技有限公司

机器学习 #人工智能

联想拯救者携手《黑神话:悟空》,开启国产单主机巨作的新时代

科技范儿

价格战迷雾下,大模型创业者只能被动挨打?

Alter

《高质量大模型基础设施建设指南》编制正式启动

中国信通院AI Infra工作组

推荐捷行Jim老师高阶课程的八大理由

ShineScrum捷行

AIIA走进联盟成员单位——创新奇智

中国信通院AI Infra工作组

在鸿蒙系统中处理ETS层与C++层之间的数组传递

彭康佳

c android 鸿蒙 native

TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新

TDengine

数据库 tdengine 时序数据库

链游开发:探索游戏与区块链的交汇点

区块链开发团队DappNetWork

PHP正版交友系统交友平台源码+支持H5小程序+带安装说明+可封装APP 交友程序网站源码+安装说明

DUOKE七七

php 开源 源码 uniapp 交友

解锁LLMs的“思考”能力:Chain-of-Thought(CoT) 技术推动复杂推理的新发展

汀丶人工智能

大模型 思维链

可信AI评估 | 中国信通院“人工智能开发平台——大模型专项”首轮评估正式启动报名

中国信通院AI Infra工作组

关于举办青岛“AI+海洋”人工智能大模型场景应用对接会的会议通知

中国信通院AI Infra工作组

DePIN赛道:从底层设施到上层应用的五大机遇与挑战

TechubNews

ERC721开发:打造独一无二的数字资产

dappweb

区块链 defi 元宇宙 ERC721 区块链开发

开发者之声:我们正在聆听!体验低代码Astro并提交建议,赢取华为GT系列手表等好礼!

华为云PaaS服务小智

云计算 低代码 华为云

中国信通院牵头的人工智能平台国际标准在ITU-T成功立项

中国信通院AI Infra工作组

DePIN赛道:从底层设施到上层应用的五大机遇与挑战

TechubNews

字节跳动基础架构两篇论文入选 VLDB 2024

字节跳动云原生计算

字节跳动 VLDB

精彩回顾!圆桌讨论“大模型与网络空间安全前沿探索”

云起无垠

2024 AIIA先锋案例 | “AI Infra”专项征集工作正式启动

中国信通院AI Infra工作组

2024最新多端社交圈子系统源码 | 陌生人社交 | 即时聊天通信 | 小程序+H5+PC+APP等多端

DUOKE七七

php 开源 源码 uniapp 交友软件开发

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