Jib插件 SpringBoot应用 Docker部署的简单应用

1. Jib插件简介

官网翻译

Jib无需Docker守护程序即可为Java应用程序构建优化的Docker和OCI映像-无需深入掌握Docker最佳实践。它可以作为Maven和Gradle的插件以及Java库使用。

我的翻译

jib是一款谷歌开源的依赖管理插件,专门为java应用构建Docker镜像。他屏蔽了复杂的Docker配置,无需编写Dockerfile。例如在Maven环境中只需要在POM文件中简单配置,即可实现服务镜像的构建及PUSH镜像到Docker私服仓库中。

这里是这个插件的GITHUB地址


2. 使用环境

  • Jib插件依赖Docker环境及Docker仓库
  • Maven
  • SpringBoot 打包Jar应用
    说明:本例中开发环境为 Win10+windows版Docker+官方Docker Registry仓库+Idea+Maven+SpringBoot

3. 加入Jib插件

在项目pom文件中加入如下配置


        tba-gateway
        
            
                com.google.cloud.tools
                jib-maven-plugin
                1.8.0
                
                    
                        java:8
                    
                    
                        
                        127.0.0.1:5000/wangqichang/${build.finalName}
                        
                            
                            ${parent.version}
                        
                        
                        
                            
                            
                        
                    
                    
                    true
                    
                        
                        com.xxx.xxx.xxx.GatewayApplication
                        
                        true
                    

                
                
                    
                        package
                        
                            build
                        
                    
                
            
        
    

4. 打包及镜像推送

直接使用Maven Package打包命令,如图,成功后将自动推送到仓库中


Jib插件 SpringBoot应用 Docker部署的简单应用_第1张图片
image.png

我这里使用的是官方registry,使用命令curl -XGET 仓库IP:端口/v2/_catalog可以看到镜像wangqichang/tba-gateway被成功推送到仓库

Jib插件 SpringBoot应用 Docker部署的简单应用_第2张图片
image.png

注意事项:

  • 请使用国内代理镜像,否则拉取基础镜像时可能会超时失败
  • 使用有认证功能的私有仓库时需要配置认证,否则无法PUSH

5. 拉取镜像,启动容器

使用docker pull 私服IP:端口/镜像名称:版本

Jib插件 SpringBoot应用 Docker部署的简单应用_第3张图片
image.png

使用docker images可以查看镜像

使用docker run命令启动容器,完整命令如下:
docker run -t -e "spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848" -e "spring.cloud.nacos.discovery.namespace=8694e5b4-2501-48fa-acde-c76d3d77fc44" -p 9056:9055 localhost:5000/wangqichang/tba-gateway
解释如下
docker run -t -e "启动参数key=参数value" -e -p 宿主机端口:容器端口 本地镜像名称|ID
注意:

  • docker run命令可以向java命令传递参数,针对不同的基础镜像有不同的传参方式
    成功启动应用,日志如下


    Jib插件 SpringBoot应用 Docker部署的简单应用_第4张图片
    image.png

你可能感兴趣的:(Jib插件 SpringBoot应用 Docker部署的简单应用)