Jib构建Java镜像

Jib 简介

官方Github 库:https://github.com/GoogleContainerTools/jib

示例Demo: https://github.com/vgbhfive/SpringBootDemo/tree/master/jibtest

如果你之前使用过Docker 来构建镜像,那么Jib 将极大的解放你的劳动,并且有极大的可使用性。

构建Jib 镜像

引入Jib

jib的引入非常简单,已maven plugin的方式集成到项目中,只需要在你的项目中引入下面代码即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>1.6.1</version>
<configuration>
<from>
<!--base image-->
<image>openjdk:alpine</image>
</from>
<to>
<!--目标镜像registry地址,为了方便测试,你需要换成自己的地址,如果你的网络不好,可以选用国内加速器,比如阿里云的-->
<image>registry.hub.docker.com/vgbhfive/jibtest</image>
</to>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>

这只是一个最简单的配置,详细的说明可以去看github jib详细说明

构建镜像

1
mvn compile jib:build

等待运行,如果网速慢,可能会比较久,知道BUILD SUCCESS 出现。最终一个完整的java project 被实例化成镜像并且push 到了registry 里。

  1. 运行过程中如果出现提示Unauthorized ,那么你需要登录你的Docker 账号
    registry.hub.docker.com
    1
    docker login --username=你的hub.docker的用户名 registry.hub.docker.com

检查并使用镜像

打开hub.docker.com ,你会发现你的image 已经构建成功。

那么接下来就是镜像

1
docker run -it --rm -p8888:8888 registry.hub.docker.com/vgbhfive/jibtest

那么接下来就可以访问了。

1
localhost:8888/test/hello