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

作者:kl 时间:2023-06-10 18:44:01 

前言碎语

今天分享一个在容器化过程中非常重要的一个工具,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/构建

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

集成插件生命周期

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

<executions>
   <execution>
     <phase>package</phase>
     <goals>
       <goal>build</goal>
     </goals>
   </execution>
 </executions>

文末结语

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

来源:104.116.116.112.58.47.47.119.119.119.46.107.97.105.108.105.110.103.46.112.117.98.47.97.114.116.105.99.108.101.47.105.110.100.101.120.47.97.114.99.105.100.47.50.49.55.46.104.116.109.108.

标签:Google,ContainerTools,jib,docker
0
投稿

猜你喜欢

  • 思想经验总结 B2C和B2B网站SEO的区别

    2009-02-28 11:01:00
  • 带着学习的态度来分享下自己运营SNS的一些经验

    2009-02-03 14:46:00
  • GoDaddy:如何更改主域名

    2010-04-26 12:33:00
  • WordPress留言链接重定向跳转并在新窗口打开

    2011-09-05 20:43:36
  • Linux云服务器安装JDK和Tomcat的详细步骤(推荐)

    2023-08-06 01:51:39
  • Serv-U3.0的Domain设置(下)

    2007-11-19 13:33:00
  • VMware WorkStation的三种网络连接方式详解

    2021-04-08 18:18:48
  • DNS服务器配置实例

    2009-01-23 17:13:00
  • ProFtpd快速指南(七)

    2007-09-28 13:37:00
  • 十大国外最好虚拟主机对比

    2010-03-17 14:52:00
  • cpanel-wordpress博客换域名教程

    2011-08-02 19:24:13
  • 得到回头客几种简单的办法

    2007-11-27 13:15:00
  • Baidu搜索排名的基本原则

    2008-07-09 18:41:00
  • Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法

    2022-09-04 17:27:47
  • linux下用cron定时执行任务的方法

    2023-06-15 03:06:50
  • Linux和Windows XP之间使用FTP互传文件

    2009-12-10 18:51:00
  • Linux上安装搭建Nginx服务器的详细步骤

    2022-04-05 21:02:49
  • WordPress2.9新功能介绍

    2010-03-17 17:50:00
  • ubuntu14.04+docker的安装及使用

    2023-12-18 04:32:46
  • 关于Flash网站的SEO优化

    2008-10-06 12:47:00
  • asp之家 网站运营 m.aspxhome.com