jib插件使用

本文介绍了谷歌开源的Jib插件,用于构建Java应用程序的Docker和OCI镜像,无需Docker守护进程。文章详细讲解了Jib插件的使用,包括配置参数、生命周期绑定,并解决了自签名证书问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jib插件使用

前端时间在工作时用到了jib插件,所以写一遍文章来记录使用中的问题。

简介

jib是谷歌开源的一款插件,可以将java程序构建成docker 镜像或oci镜像,我司是用来构建docker image镜像的。jib拥有maven 和 gradle 两个插件版本,我所使用的是 maven 版本。

谷歌官方是这样介绍jib的。

Jib builds optimized Docker and OCI images for your Java applications without a Docker daemon - and without deep mastery of Docker best-practices. It is available as plugins for Maven and Gradle and as a Java library.

GitHub地址:https://github.com/GoogleContainerTools/jib

Docker file maven 插件

docker 的容器化操作为我们提供了不少便利,通过dockerfile文件可以构建一个和文件提供者一模一样的容器,这样就屏蔽因为依赖环境而带来的问题。下面将介绍目前知名的几款插件。

dockerfile-maven Github地址 https://github.com/spotify/dockerfile-maven

不过此项目已经归档,不在维护

docker-maven-plugin Github地址 https://github.com/fabric8io/docker-maven-plugin 这个项目目前还在持续更新中,star也有1.6k

jib Github地址 https://github.com/GoogleContainerTools/jib 谷歌开源的,实力毋庸置疑,star有11.9k

dockerfile-maven因为已经归档不再更新了,所以并没有进行考虑,docker-maven-plugin 因为版本迭代的比较慢,所以最终选择了谷歌的jib,在我搞好了jib以后公司为了和老项目保持一致,又让我换成了docker-mavne-plugin,未来或许写一篇docker-maven-plugin插件的使用文章。

使用

jib插件无需写dokcerfile文件,所以参数都用pom中的参数来完成,可以像写dockerfile一样写pom文件。

jib中所有的参数都在readme文件中列出,所以在使用时遇到问题可以去读读readme文件,地址 https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

 <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>3.1.4</version>
                <configuration>
                    <from>
                        <image>harbor.xxxxx</image>
                    </from>
                    <to>
                        <image>harbor.xxx</image>
                    </to>
                    <container>
                        <workingDirectory>/application</workingDirectory>
                        <volumes>/application/log</volumes>
                        <environment>
                            <TZ>Asia/Shanghai</TZ>
                        </environment>
                        <ports>
                            <port>8084</port>
                        </ports>
                        <mainClass>com.glory.cms.Application</mainClass>
                        <entrypoint>
                            <arg>/bin/sh</arg>
                            <arg>-c</arg>
                            <arg>java ${JAVA_OPTS} -cp /app/resources/:/app/classes/:/app/libs/* com.glory.cms.Application</arg>
                        </entrypoint>
                    </container>
                    <allowInsecureRegistries>true</allowInsecureRegistries>
                </configuration>
                <executions>
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值