试水Jib

      之前一直沉迷于vagrant之中,其对于环境部署的友好,谁用谁知道,但是在最近的开发过程当中,越发的发现vagrant对开发人员的友好,而对于后续的发布、运维等就有些力不从心了,所以最近又开始拾起docker,尝试一下容器化的便利。 恰在此时,Jib适时的走进了我的视野。

      640?wx_fmt=png


Jib 是谷歌最新开源的 Java 应用的 Docker 镜像生成工具,可以通过 Gradle或Maven 直接生成镜像并上传到仓库无需 Dockerfile 文件或其他插件;Jib 支持将资源文件和类分层打包,可以大幅度提升生成镜像的速度


 在正常的docker使用流程里,我们要做的是这样的:

640?wx_fmt=png


而使用的Jib以后,是这样的:

640?wx_fmt=png


这何止是对初学者友好啊,简直是对初学者友好! 有了这么好的工具不试试太对不起郭嘉了,于是走起....


参看了网上大部分都maven的案例,而作为一个gradle的拥趸,我不服!


首先在 build.gradle  添加插件:

buildscript {
repositories {

maven {
url "https://plugins.gradle.org/m2/"
       }
}
dependencies {
classpath "gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:0.9.10"
   }
}


然后应用插件:

apply plugin: "com.google.cloud.tools.jib"


接下来是一些配置

jib {
from {
//获取镜像
image = 'registry.hub.docker.com/openjdk:8-jdk-alpine'

   }
to {
//发布的镜像地址
image = 'registry.cn-hangzhou.aliyuncs.com/dafei1288/growingstrong:test1'
       auth {
username = '111111'
           password = '111111'
       }

   }
// 其他的一些配置
//    container {
//        jvmFlags = ['-Djava.security.egd=file:/dev/./urandom', '-Duser.timezone=GMT+08']
//        mainClass = 'example.jib.MainClass'
//        args = ['test]
//                ports = ['8080']
//    }
}


    值得注意的是,发布镜像的地方,需要选一个自己喜欢的,这里我用了阿里云的,但是不得不吐槽阿里云得菜单,真的很难用,作为职业码农,完全不知道他们是怎么设计的。这个东西怎么构建自己的镜像仓库,网上文章众多,我就不赘述了。


    更新一下gradle,然后你就会发现

640?wx_fmt=png


 这个时候你就可以放飞自我的撰写你心目中的bug了..... 然后轻轻双击jib

640?wx_fmt=png

大功告成,就是这么畅快. 查看一下,拉下来没有任何问题。

640?wx_fmt=png


最后说一下,在构建的时候可能会出现一些莫名其妙的问题,这是因为docker hub 和 gcr.io这些网站技术不成熟,需要开发者有科学的上的技能才行,且用且珍惜. 祝大家好运!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麒思妙想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值