使用 Google jib 快速构建springboot项目镜像

google jib 是Google于18年7月发布的一个针对Java应用的构建镜像的工具(支持Maven和Gradle) ,好处是能够复用构建缓存,能够加快构建,减小传输体积(后文会详细讲解),并且让Java工程师不需要理解Docker相关知识就可以简单构建镜像并且发布到指定registry里(不需要docker build , tag, push)

项目地址: https://github.com/hacker-and-painter/springboot-jib-docker

运行效果

1
2
3
docker pull gaohanghang/springboot-jib-docker

docker run -p 8080:8080 -t gaohanghang/springboot-jib-docker

快速开始

  1. dockerhub中创建Repository

  1. 创建springboot项目,添加HelloController.java
1
2
3
4
5
6
7
8
@RestController
public class HelloController {

@GetMapping("/")
public String hello() {
return "hello";
}
}
  1. pom.xml中添加jib plugin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>1.3.0</version>
<configuration>
<from>
<!--base image-->
<image>openjdk:alpine</image>
</from>
<to>
<!--<image>registry.cn-hangzhou.aliyuncs.com/m65536/jibtest</image>-->
<!--目标镜像registry地址,为了方便测试,你需要换成自己的地址,如果你的网络不好,可以选用国内加速器,比如阿里云的-->
<image>registry.hub.docker.com/gaohanghang/springboot-jib-docker</image>
</to>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
  1. <image>registry.hub.docker.com/gaohanghang/springboot-jib-docker</image>中的gaohanghang/springboot-jib-docker修改为你在dockerhub中创建的Repository

  2. 使用maven package打包项目,jib会自动构建镜像到dockerhub

  1. 拉取镜像并运行
1
2
3
docker pull gaohanghang/springboot-jib-docker

docker run -p 8080:8080 -t gaohanghang/springboot-jib-docker

参考文章

Jib构建你的第一个java镜像
谷歌开源 Java 镜像构建工具 Jib
加速和简化构建Docker(基于Google jib)

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信