Jib插件构建镜像到dockerHub及阿里云镜像仓库

介绍

Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式


以开源博客项目My-Blog-layui为例构建docker镜像push到dockerhub,并本地拉取镜像构建容器


  1. clone项目到本地.
https://github.com/ZHENFENG13/My-Blog-layui
blog.jpg

  1. pom文件添加jib依赖(用户名密码及仓库名需更换).
 
            
                com.google.cloud.tools
                jib-maven-plugin
                2.4.0
                
                    
                    
                        openjdk:alpine
                    
                    
                    
                        
                        
                        docker.io/xxxxxx/my-blog-layui
                        
                        
                            v1
                        
                        
                            
                            xxxxxx
                            xxxxxx
                        
                    
                    
                        
                        com.site.blog.MyBlogApplication
                    
                
                
                    
                        package
                        
                            build
                        
                    
                
            

  1. 本地构建并push镜像到dockerhub.


    build.jpg

  1. 成功如下图,并登录dockerhub查看镜像.


    duckerhub.jpg

  1. 本地拉取镜像(xxxxxx为仓库名)
docker pull xxxxxx/my-blog-layui
pull.jpg

  1. 运行镜像并测试(xxxxxx为仓库名)
docker run -p 8080:28084 --name mybloglayui  xxxxxx/my-blog-layui
//-d 后台运行,-p端口映射,--name容器命名
docker run -d -p 8080:28084 --name mybloglayui  xxxxxx/my-blog-layui
run.png

  1. 查看运行中镜像
docker ps
ps.png

  1. 本地访问localhost:8080如图启动成功


    localhost.png

注意:

  • my-blog-layui项目需在application.yml中配置数据库连接信息,需自建数据库my_blog_db并初始化my_blog_db.sql文件
  • gradle项目同理添加配置可构建,配置如下:
plugins {
    id 'com.google.cloud.tools.jib' version '2.4.0'
}

jib.to.image = 'docker.io/xxxxxx/my-blog-layui'
jib.to.auth.username = 'xxxxxx'
jib.to.auth.password = 'xxxxxx'
jib.to.tags = ['v1']
jib.container.mainClass = 'com.site.blog.MyBlogApplication'
  • 测试gradle方式可用halo项目测试
https://github.com/halo-dev/halo

你可能感兴趣的:(Jib插件构建镜像到dockerHub及阿里云镜像仓库)