使用GoogleContainerTools容器化jib构建docker镜像

 更新时间:2022年03月01日 10:08:30   作者:kl  
这篇文章主要教大家如何使用GoogleContainerTools容器化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 :构建镜像并推送到镜像仓库

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的区别,前者会构建并推动到仓库,后者不会推送到仓库

以上就是使用GoogleContainerTools容器化jib构建docker镜像的详细内容,更多关于GoogleContainerTools容器化jib构建docker镜像的资料请关注脚本之家其它相关文章!

相关文章

  • 在docker中部署并启动redis的方法

    在docker中部署并启动redis的方法

    这篇文章主要介绍了在docker中部署并启动redis的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 如何监控docker容器运行状态 shell 脚本

    如何监控docker容器运行状态 shell 脚本

    这篇文章主要介绍了如何监控docker容器运行状态 shell 脚本的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker daemon 配置和故障排除过程

    Docker daemon 配置和故障排除过程

    这篇文章主要介绍了Docker daemon 配置和故障排除过程,具有很的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • docker compose部署mongodb 分片集群的操作方法

    docker compose部署mongodb 分片集群的操作方法

    分片机制(Sharding)是MongoDB中用于处理大规模数据集和高负载应用的一种数据分布策略,通过将数据均匀分布在多个服务器上,分片技术能够提高应用的可扩展性和性能,本文给大家介绍docker compose部署mongodb 分片集群的相关操作,感兴趣的朋友一起看看吧
    2024-10-10
  • 详解Docker创建php开发环境遇到的权限问题解决方案

    详解Docker创建php开发环境遇到的权限问题解决方案

    本篇文章主要介绍了Docker创建php开发环境遇到的权限问题解决方案,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • Docker搭建Zookeeper&Kafka集群的实现

    Docker搭建Zookeeper&Kafka集群的实现

    这篇文章主要介绍了Docker搭建Zookeeper&Kafka集群的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 如何解决docker logs无法实时输出脚本打印的内容

    如何解决docker logs无法实时输出脚本打印的内容

    这篇文章主要介绍了如何解决docker logs无法实时输出脚本打印的内容问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Docker容器日志查看与清理的方法(亲测有效)

    Docker容器日志查看与清理的方法(亲测有效)

    这篇文章主要介绍了Docker容器日志查看与清理的方法(亲测有效),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • docker容器挂载宿主主机目录的操作方法

    docker容器挂载宿主主机目录的操作方法

    这篇文章主要介绍了docker容器挂载宿主主机目录的操作方法,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下吧
    2018-01-01
  • 使用elasticsearch定时删除索引数据

    使用elasticsearch定时删除索引数据

    这篇文章主要介绍了使用elasticsearch定时删除索引数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论