Springboot项目集成Maven-goole-jib插件实现镜像打包

google-jib是什么

       jib是谷歌公司推出的开源 Java 镜像构建工具,它可以将一个 Java 应用构建成 OCI 镜像或者是 Docker 镜像,是一个快速docker镜像构建工具,它可以配置在maven插件中,不需要编写 Dockerfile 或本机安装docker程序。它只将发生变更的层推送到容器镜像服务器大大节约了构建时间。

jib插件标准的构建命令

mvn compile jib:buildTar     :将镜像生成tar文件,保存在项目的target目录下,在任何docker环境执行 docker load --input xxx.tar即可导入到本地镜像仓库
mvn compile jib:dockerBuild  :将镜像存入当前镜像仓库,该仓库是当前docker客户端可以连接的docker daemon,一般是指本地镜像仓库
mvn compile jib:build        :将镜像推送到远程仓库,仓库位置与镜像名字的前缀有关,一般是hub.docker.com或者阿里云镜像仓库,使用该参数时需要提前登录成功

pom配置


            
                com.google.cloud.tools
                jib-maven-plugin
                1.8.0
                
                    
                        
                        ${docker.resources.repository}/${jib.namespace}/${jib.namespace.base}:${jib.namespace.base.version}
                    
                    
                        
                        ${docker.repository}/${docker.image.prefix}/${project.artifactId}:${jib.docker.version}
                    
                    
                    
                        
                        
                            -Xms512m
                            -Xmx2g
                            -Djava.awt.headless=true
                            -Duser.timezone=PRC  
                        
                        
                        
                            8026
                        
                        
                        
                        USE_CURRENT_TIMESTAMP
                        
                        com.bpo.BpoSignAppllication
                        
                        
                            Asia/Shanghai
                        
                    
                    true
                
                
                
                
                    
                        install 
                        
                            ${jib.key}
                        
                    
                
            
    
        
            local
            
                local
                dockerBuild 
                true 
                ${project.version}
            
            
                true
            
        
        
            develop
            
                develop
                build
                ${project.version}
            

        
        
            test
            
                test
                build
                latest
            
        
        
            product
            
                product
                build
                
                ${jib.docker.tag}.RELEASE
            
        
    

如果从from节点拉取基础镜像(如果镜像是私有的)  和  向to节点推送工程镜像 需要配置账号密码,可以配置在pom文件中 也可以配置在 setting文件中(安全,推荐)

pom文件配置不推荐

configuration>
    
      registry.cn-qingdao.aliyuncs.com/jibprd/jdk8:8.212
      
        my_username
        my_password
      
    
    
      registry.cn-beijing.aliyuncs.com/wxddong/test:0.0.1
      
        my_username
        my_password
      
    

setting.xml文件配置,推荐使用

  
  
      
      releases  
      admin  
      ********  
      
      
      snapshots  
      admin  
      *********
    

    
    
    	registry.cn-qingdao.aliyuncs.com
    	my-username
    	******
    
      
          registry.cn-beijing.aliyuncs.com
          wxd_1024
          *******
      
  

dockerBuild创建的本地镜像

 多次构建出现了很多名为,tag也是的镜像  用 docker image prune,然后根据提示输入"y",镜像即可被清理

Springboot项目集成Maven-goole-jib插件实现镜像打包_第1张图片

 

Build将镜像推送到远程仓库

Springboot项目集成Maven-goole-jib插件实现镜像打包_第2张图片

Springboot项目集成Maven-goole-jib插件实现镜像打包_第3张图片

你可能感兴趣的:(Docker)