为 Java 应用构建容器镜像 Jib

为 Java 应用构建容器镜像 Jib

Apache-2.0
Java 查看源码»
跨平台
Google
2018-07-10
李三石

Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供。

通过 Jib,Java 开发者可以使用他们熟悉的 Java 工具来构建容器。Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤。它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 —— 只需要将插件添加到构建中,就可以立即将 Java 应用程序容器化。

Docker 构建流程

Jib 构建流程

目标

  • 快速 — 快速部署您的更改。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
的码云指数为
超过 的项目
加载中

评论(13)

狄龙-
狄龙-
lib 类库
LarryKoo
LarryKoo
dockerfile 已经很简单了,加个觉得确认鸡肋,而且分别构建 jar 和 images 有利于深入理解整个 Application 的构建过程,还有灵活定义环境变量、JVM启动参数等等
wleoi
wleoi
少了个a
凝雨
凝雨
image版本可直接跟包版本走,可结合profile构建不同环境image,简化dockerfile编写,可直接package包一步到位生成image,不需要再先package包再build image,挺好的
开源狂人
开源狂人
我英文不好,有谁帮我念念?
彪付_3个字符
这名字太形象了
开源中国首席吃不饱
开源中国首席吃不饱
名字有趣
T
TZLLOG
就是帮忙生成一个image,你自己运行就可以了。。。
大豆腐干
然后推送到你选择的任何注册表 这个翻译有点飘喔~
Beyonds
Beyonds
关注一下,少了中间过程,WAR包都没有了

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

Google 本周宣布开源一款新的 Java 工具 Jib ,旨在让开发者使用他们熟悉的工具更轻松地将 Java 应用程序容器化。 在7月9日发布的博客文章中,Google 软件工程师 Appu Goundan 和 Qingyang C...

2018/07/11 08:03

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

jib自定义entrypoint

序 本文主要研究一下jib自定义entrypoint的用场 maven <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>0.9.10</version> <config...

2018/09/03 18:49
28
0
jib和docker的实践

现在已经开始接触docker了。发现也确实是提高了部署一些软件的效率。比如在nexus仓库的部署中,直接可以docker run 命令就能跑起来,而不需要关心一些具体实现的细节。这种特性在企业环境中的...

2018/09/15 16:04
22
0
jib打包docker镜像实战

序 本文主要研究一下如何使用google的jib打包docker镜像 maven <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>0.9.9</version> ...

2018/08/26 23:25
117
0
XMPP即时聊天协议

xmpp也是继承与TCP的 原名jabber ——》XMPP XMPP服务端 客户端通过XMPP服务端与客户端之间进行交流 服务器 接收和转发消息 好友列表 不仅能实现聊天 也能实现评论功能 为区分客户端之间的不...

2015/01/28 10:04
32
0
GOOGLE JIB

GOOGLE新推出的java maven容器构建,这里写一下我的使用过程 官方github: https://github.com/GoogleContainerTools/jib.git 1.准备一个自己的docker 私服,我的私服服务器地址是:192.168.2...

2018/07/12 11:55
772
0
最小化 Java 镜像的常用技巧

背景 随着容器技术的普及,越来越多的应用被容器化。人们使用容器的频率越来越高,但常常忽略一个基本但又非常重要的问题 - 容器镜像的体积。本文将介绍精简容器镜像的必要性并以基于 spring...

01/11 12:29
7
0
2018年终总结

序 不知不觉一年又要过去了,又到了写总结的时候了。 盘点 整体而言,今年技术层面稍微有点拓宽,跨入了外表看上去高大上的流式计算领域,打开了另外一扇窗;而基于java的分布式/微服务领域,...

2018/12/31 16:27
27
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部