使用jib插件为Java应用构建镜像的方法

简介

Java应用开发的容器化,需要制作docker镜像。要是用户本地没安装docker,可以使用jib制作出带有镜像的tar文件。

Jib提供了四种使用方式:

  • Maven插件:jib-maven-plugin
  • Gradle插件:jib-gradle-plugin
  • Java库: Jlib Core
  • Jib CLI

jib构建工具主要包含了四个强大的功能。

  • build :提供了创建镜像并推送到远程仓库功能。
  • buildTar :提供创建一个包含镜像的tar文件功能。
  • dockerBuild:提供创建docker镜像到本地功能。
  • exportDocker:rContext提供创建dockerfile功能。

当编译构建是在没有docker环境的情况下构建,使用build命令和dockerBuild命令并不能制作出镜像,只能使用buildTar命令制作出一个包含镜像的tar文件。

使用Maven插件将Java应用构建为docker镜像

想了解更多参数,阅读官方文档。https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

1.修改需要制作镜像的项目代码:找到pom文件声明jib插件,
pom.xml文件中声明Jib插件:


            
                com.google.cloud.tools
                jib-maven-plugin
                1.3.0
                
                    
                    
                        
                        openjdk:8-jdk-stretch
                    
                    
                        
                        lendea/hellojib:${project.version}
                    
                    
                    
                        
                        
                            -Xms256m
                            -Xmx256m
                        
                        
                        
                            8081
                        
                    
                
            
  • from标签:设置基础镜像,相当于dockerfile中的FROM关键字,这里推荐使用SWR中的镜像,构建时下载速度快并且稳定。
  • to标签:设置制作出来的镜像的镜像名称和tag。
  • container标签:设置容器的相关属性,jvm内存参数,端口等。

2.创建构建任务并执行

# -Dmaven.test.skip=true: 跳过单元测试
# -U: 每次构建检查以来更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能
# -e -X: 打印调试信息,定位疑难构建问题时建议使用此参数构建
# -B: 以batch模式运行,可避免日志打印出现ArrayIndexOutOfBoundsException异常

mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B

在java项目的target目录下,可以看到生成的tar镜像。

3.使用tar镜像
执行docker load -i xxx.tar 命令将tar文件的镜像加载到本地镜像仓库,再使用docker run --rm -p 8081:8081 lendea/hellojib:0.0.1等命令启动容器来测试功能。

到此这篇关于使用jib插件为Java应用构建镜像的文章就介绍到这了,更多相关jib插件构建镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(使用jib插件为Java应用构建镜像的方法)