Jib:Java容器化工具

一、什么是Jib

Jib是google开源的Java容器化工具

Jib使用Java开发,并作为Maven或Gradle的一部分运行。你不需要编写Dockerfile或运行Docker守护进程,甚至无需创建包含所有依赖的大jar包。因为Jib与Java构建过程紧密集成,所以它可以访问到打包应用程序所需的所有信息。在后续的容器构建期间,它将自动选择Java构建过的任何变体

Jib利用镜像分层和注册表缓存来实现快速、增量的构建。它读取你的构建配置,将你的应用程序组织到不同的层(依赖项、资源、类)中,并只重新构建和推送发生变更的层。在项目进行快速迭代时,Jib只讲发生变更的层(而不是整个应用程序)推送到注册表来节省宝贵的构建时间

Jib支持根据Maven和Gradle的构建元数据进行声明式的容器镜像构建,因此,只要输入保持不变,就可以通过配置重复创建相同的镜像

二、Jib插件的使用

在pom.xml中引入Jib插件

            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>1.7.0</version>
                <configuration>
                    <from>
                        <!--基础镜像-->
                        <image>openjdk:alpine</image>
                    </from>
                    <to>
                        <!--目标镜像registry地址-->
                        <image>registry.cn-shanghai.aliyuncs.com/hxt/jib-demo</image>
                        <tags>
                            <!--镜像版本-->
                            <tag>v1</tag>
                        </tags>
                        <auth>
                            <!--用户名密码-->
                            <username></username>
                            <password></password>
                        </auth>
                    </to>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

配置完成后,在命令行执行如下命令将当前下项目构建成一个Docker镜像并push到远程仓库:

mvn compile jib:build

构建成功后,就能在远程仓库中看到自己的镜像了

在这里插入图片描述

发布了177 篇原创文章 · 获赞 407 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_40378034/article/details/102948385