镜像构建加速利器:JIB

2020-08-27

Github地址:https://github.com/GoogleContainerTools/jib

总结一下:

  • 胖Jar拆分成主类Main.class和其他依赖项。充分利用镜像构建layers层可以复用的优势
  • 构建幂等,代码不动,永远打出的是同一个镜像
  • 不用写Dockerfile。本地不需要启动docker服务(依赖OCI镜像标准,可不依赖Docker构建出镜像)

应用:Abc 镜像仓库地址:image.com

原构建过程

gradle build -x test
docker build -t image.com/library/Abc:v1.0 .
docker push image.com/library/Abc:v1.0
  • 依赖docker服务
  • Send context to Docker daemon (耗时操作,可通过.dockerignore忽略指定目录,但规则不好维护)
  • Push to Remote Container Registry (胖Jar如果有200M,就要传输200M)

现构建流程

gradle jib --image=image.com/library/Abc:v1.0

实际测试下来,190M的Jar包,新旧构建方式竟然可以相差1分钟!