作为一个Java开发你用过Jib吗

栏目: IT技术 · 发布时间: 5年前

内容简介:Jib是其实最骚的还是名字。

1. 前言

作为一个 <a href='https://www.codercto.com/topics/22013.html'>Java</a> 开发你用过Jib吗

Jib是 Google 开发的可以直接构建 Java 应用的 DockerOCI 镜像的类库,以 MavenGradle 插件形式提供。它最骚操作的是可以在没有 Docker 守护程序的情况下构建,也就是说,您不必在计算机上安装 docker 守护程序!尽管 Spring Boot 2.3.0.RELEASE 已经推出了构建镜像的功能,胖哥还是忍不住要试试 Jib

其实最骚的还是名字。

2. Docker构建流程和Jib的构建流程

没有对比就没有伤害。我们还是要对比一下这两者的构建流程。

Docker构建流程需要我们先把项目打成 Jar 然后编写 Dockerfile ,然后使用 Docker 构建功能进行构建镜像、运行容器。流程如下:

作为一个Java开发你用过Jib吗

而Jib是这样构建的:

作为一个Java开发你用过Jib吗

作为一个 Java 开发者,不用再关心各种无关的命令和操作,只需要专注于Java,而且高效稳定以及可复用的增量构建。为什么 Jib 能这么快而高效?

传统上,将 Java 应用程序与应用程序 Jar 一起构建为单个图像层,而 Jib 的构建策略将 Java 应用程序分为多层,以进行更细化的增量构建。更改代码时,仅重建更改,而不重建整个应用程序。

3. Jib构建Spring Boot应用

接下来我将演示如何将 Spring Boot 应用打成镜像并上传到 Dockerhub 仓库。

Maven 工程为例,我们只需要在 pom.xml 中引入 Jib Maven 插件 。默认情况下 Jib 会把我们打好的镜像上传到 Googlegcr.io 仓库,实际中我们会把打好的镜像上传到私有仓库,所以我们要加一些个性化配置。这里我以 dockerhub 仓库为例添加一些个性化配置:

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>jib-maven-plugin</artifactId>
    <version>2.4.0</version>
    <configuration>
        <!-- 相当于 Dockerfile 中的 FROM -->
        <from>
            <image>amazoncorretto:8</image>
        </from>
        <to>
            <!--构建镜像名称,这里我使用maven中定义的项目名称-->
            <image>daxus/${project.name}</image>
            <!--私有仓库的账号密码-->
            <auth>
                <username>felordcn</username>
                <password>yourpassword</password>
            </auth>
            <!--Docker 镜像的 tag 这里使用maven定义的版本号-->
            <tags>
                <tag>
                    ${project.version}
                </tag>
            </tags>
        </to>
    </configuration>
</plugin>

然后在项目根目录执行 mvn clean compile jib:build 就可以了。

作为一个Java开发你用过Jib吗

其实也可以简单引入 Jib 插件:

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>jib-maven-plugin</artifactId>
    <version>2.4.0</version>
</plugin>

只不过我们的命令会更复杂一些,需要指定一些必要的参数,例如:

mvn clean compile jib:build \
    -Djib.to.image=myregistry/myimage:latest \
    -Djib.to.auth.username=$USERNAME \
    -Djib.to.auth.password=$PASSWORD
更多的定制命令可参考官方文档:

https://github.com/GoogleCont...

4. 总结

Jib使用起来非常简单,让开发人员以 Java 的风格来完成 Docker 镜像的构建,能够大大改善编程的体验。多多关注: 码农小胖哥 获取更多有用的编程干货教程。

关注公众号:Felordcn 获取更多资讯

个人博客:https://felord.cn


以上所述就是小编给大家介绍的《作为一个Java开发你用过Jib吗》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web标准和SEO应用实践

Web标准和SEO应用实践

Aarron Walter / 李清 / 机械工业出版社 / 2008 / 36.00元

本书是关于搜索引擎优化和易发现性的技术指南。. 本书介绍Web标准、可访问性以及Ajax、API、Flash和微格式等内容,包括标记策略、服务器端策略、内容策略、建构易发现的博客、在网站内添加搜索、防止易发现性障碍、用邮件列表挽回流量、将易发现性付诸实践。 本书适合网站开发者与SEO技术业余爱好者等参考。 这不是为营销专家写的一本SEO的书。 针对那些想要找到网站的目标用户......一起来看看 《Web标准和SEO应用实践》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具