SpringBoot使用Jib将应用快速打包成Docker镜像
在以往的Web服务Docker镜像构建主要包含以下一个主要的步骤:
1.拉取基本的镜像;
2.将所拉取的镜像形成容器;
3.进入到容器中配置Web服务所需要的运行环境,jdk、tomcat等;
4.将已经打好包的项目移动到容器中部署,测试是否成功;
5.将容器打包成镜像提交。
整体步骤比较麻烦,最近google开源了一个镜像构建工具Jib(https://github.com/GoogleContainerTools/jib)可以将应用快速打包成镜像。
使用方法很简单,首先在pom中添加plugin,from标签为使用的基础镜像,mainClass为项目启动的主程序,也就是Spring Boot的Application类,to标签的含义为将镜像发布到哪个存储库中。:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>0.9.7</version>
<configuration>
<from>
<image>openjdk:alpine</image>
</from>
<mainClass>com.wireless.analyse.Application</mainClass>
<to>
<image>registry.hub.docker.com/goods/buy</image>
</to>
</configuration>
</plugin>
在idea中可以看到jib构建工具主要包含了四个强大的功能,build提供了创建镜像并推送到远程仓库功能,buildTar提供创建一个包含镜像的tar文件功能,dockerBuild提供创建docker镜像到本地功能,exportDockerContext提供创建docker file功能:
在进行镜像打包时最好主机已经安装了Docker,如果远程提交镜像到仓库可以在本地登陆后提交,否则会产生权限错误(Bug不少)。如果打包到本地就简单了,运行dockerBuild就好:
通过docker images查看镜像,可以看到已经产生的镜像