美文网首页it农名工
Jib插件构建镜像到dockerHub及阿里云镜像仓库

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

作者: 湖北陈小春 | 来源:发表于2020-07-07 14:14 被阅读0次

    介绍

    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依赖(用户名密码及仓库名需更换).
     <!-- Jib插件 -->
                <plugin>
                    <groupId>com.google.cloud.tools</groupId>
                    <artifactId>jib-maven-plugin</artifactId>
                    <version>2.4.0</version>
                    <configuration>
                        <!-- 拉取所需的基础镜像 - 这里用于运行springboot项目 -->
                        <from>
                            <image>openjdk:alpine</image>
                        </from>
                        <!-- 最后生成的镜像配置 -->
                        <to>
                            <!-- push到阿里云镜像仓库,如果是其它镜像仓库,将下面地址替换掉即可,ex: `Docker Hub` 的 `docker.io/zhengqing/xxx` -->
                            <!--<image>registry.cn-hangzhou.aliyuncs.com/xxxxxx/my-blog-layui</image>-->
                            <image>docker.io/xxxxxx/my-blog-layui</image>
                            <!-- 镜像版本号 -->
                            <tags>
                                <tag>v1</tag>
                            </tags>
                            <auth>
                                <!--账号密码,`Docker Hub`账号密码为登录账号密码,阿里云镜像仓库账号为登录账号,密码可去镜像仓库修改固定密码或获取临时密码-->
                                <username>xxxxxx</username>
                                <password>xxxxxx</password>
                            </auth>
                        </to>
                        <container>
                            <!--启动application-->
                            <mainClass>com.site.blog.MyBlogApplication</mainClass>
                        </container>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    

    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及阿里云镜像仓库

        本文链接:https://www.haomeiwen.com/subject/zafgqktx.html