1. 首页
  2. 技术知识

使用GооgleContainerTools容器化jib构建docker镜像

目录

    前言碎语插件配置配置详解

      插件命令使用集成插件生命周期

    文末结语

前言碎语

今天分享一个在容器化过程中非常重要的一个工具,java应用docker镜像build工具jib,这个工具是谷歌团队研发开源的,特点是不依赖docker守护进程,直白点说就是本地环境不安装docker环境也可以打包docker镜像。不用依赖维护Dockerfile,而且基于java打包插件可以轻松嵌入到java本身的构建生命周期中(本文使用maven)。可以说是java容器化构建利器。

插件配置

<plugin>

                <groupId>com.google.cloud.tools</groupId>

                <artifactId>jib-maven-plugin</artifactId>

                <version>0.9.11</version>

                <configuration>

                    <from>

                        <image>xxx.cn-xxx.xxx.com/keking/jdk:1.8</image>

                        <auth>

                            <username>xx@xxx-group</username>

                            <password>xxx#xx</password>

                        </auth>

                    </from>

                    <to>

                        <image>xxx.cn-xxx.xxx.com/keking/kk-businesscard:v1.1</image>

                        <auth>

                            <username>xxx@xxx-group</username>

                            <password>xxx#xxx</password>

                        </auth>

                    </to>

                    <container>

                        <mainClass>cn.keking.kkbusinesscard.APPlication</mainClass>

                    </container>

                </configuration>

</plugin>


配置详解

from:定义基础镜像,这里配置的私有仓库的jre镜像

auth:仓库认证用户和密码配置

to:目标镜像

container:容器内的相关配置,比如spring boot项目main方法,jvm参数等

插件命令使用

mvn compile jib:buildTar :这个命令将会构建镜像到磁盘上/targer/jib-image.tar,可以使用docker load –input target / jib-image.tar加载到docker中

mvn compile  jib:dockerBuild : 构建镜像

mvn compile  jib:build :构建镜像并X到镜像仓库

mvn compile jib:exportDockerContext:如下图导出docker 构建所需的上下文到target/jib-docker-context目录,可以使用docker build -t myimage my/docker/context/构建


集成插件生命周期

在插件中添加如下,绑定到package阶段就可以使用mvn package来构建了

<executions>

    <execution>

      <phase>package</phase>

      <goals>

        <goal>build</goal>

      </goals>

    </execution>

  </executions>


文末结语

jib使用方便,支持maven ,gradle等build工具,是java容器化的利器。博主在实践过程中也出了点小差错,走了弯路,注意他的jib:build 和jib:dockerBuild的区别,前者会构建并推动到仓库,后者不会X到仓库

以上就是使用GооgleContainerTools容器化jib构建docker镜像的详细内容,更多关于GооgleContainerTools容器化jib构建docker镜像的资料请关注共生网络其它相关文章!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/105708.html

联系我们