关于Jib插件
Jib是用于构建Docker镜像的Maven插件,其基本用法请参考《Docker与Jib(maven插件版)实战》一文;
全文概览
本文由以下几部分组成:
-
环境信息
-
源码下载
-
小结一:三种构建参数
-
小结二:镜像的时间问题
-
小结三:多次构建后,积累的无用镜像问题
-
小结四:提升构建速度
-
小结五:将jib与mvn构建的生命周期绑定
-
小结六:父子结构的maven工程如何构建
环境信息
-
操作系统:CentOS Linux release 7.6.1810
-
docker:1.13.1
-
jdk:1.8.0_191
-
maven:3.6.0
-
jib插件:1.3.0
源码下载
本次实战用到的源码是个简单的maven工程,可以从GitHub上下载本次实战的源码,地址和链接信息如下表所示:
| 名称 | 链接 | 备注 |
| :-- | :-- | :-- |
| 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |
| git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 |
| git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |
这个git项目中有多个文件夹,本章的源码在hellojib文件夹下,如下图红框所示:
小结一:三种构建参数
对于一个已在pom.xml中配置了jib插件的java工程来说,下面是个标准的构建命令:
mvn compile jib:dockerBuild
注意上面的dockerBuild参数,该参数的意思是将镜像存入当前的镜像仓库,这样的参数一共有三种,列表说明:
| 参数名 | 作用 |
| — | — |
| dockerBuild | 将镜像存入当前镜像仓库,该仓库是当前docker客户端可以连接的docker daemon,一般是指本地镜像仓库 |
| build | 将镜像推送到远程仓库,仓库位置与镜像名字的前缀有关,一般是hub.docker.com,使用该参数时需要提前登录成功 |
| buildTar | 将镜像生成tar文件,保存在项目的target目录下,在任何docker环境执行 docker load --input xxx.tar即可导入到本地镜像仓库 |