内容简介:之前一直沉迷于vagrant之中,其对于环境部署的友好,谁用谁知道,但是在最近的开发过程当中,越发的发现vagrant对开发人员的友好,而对于后续的发布、运维等就有些力不从心了,所以最近又开始拾起docker,尝试一下容器化的便利。 恰在此时,Jib适时的走进了我的视野。Jib 是谷歌最新开源的 Java 应用的 Docker 镜像生成工具,可以通过 Gradle或Maven 直接生成镜像并上传到仓库无需 Dockerfile 文件或其他插件;Jib 支持将资源文件和类分层打包,可以大幅度提升生成镜像的速度
之前一直沉迷于vagrant之中,其对于环境部署的友好,谁用谁知道,但是在最近的开发过程当中,越发的发现vagrant对开发人员的友好,而对于后续的发布、运维等就有些力不从心了,所以最近又开始拾起docker,尝试一下容器化的便利。 恰在此时,Jib适时的走进了我的视野。
Jib 是谷歌最新开源的 Java 应用的 Docker 镜像生成工具,可以通过 Gradle或Maven 直接生成镜像并上传到仓库无需 Dockerfile 文件或其他插件;Jib 支持将资源文件和类分层打包,可以大幅度提升生成镜像的速度
在正常的docker使用流程里,我们要做的是这样的:
而使用的Jib以后,是这样的:
这何止是对初学者友好啊,简直是对初学者友好! 有了这么好的 工具 不试试太对不起郭嘉了,于是走起....
参看了网上大部分都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,然后你就会发现
这个时候你就可以放飞自我的撰写你心目中的bug了..... 然后轻轻双击jib
大功告成,就是这么畅快. 查看一下,拉下来没有任何问题。
最后说一下,在构建的时候可能会出现一些莫名其妙的问题,这是因为docker hub 和 gcr.io这些网站技术不成熟,需要开发者有科学的上的技能才行,且用且珍惜. 祝大家好运!
以上所述就是小编给大家介绍的《试水 Jib》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员修炼之道(影印版)
Andrew Hunt、David Thomas / 中国电力出版社 / 2003-8-1 / 39.00
本书直击编程陈地,穿过了软件开发中日益增长的规范和技术藩篱,对核心过程进行了审视——即根据需求,创建用户乐于接受的、可工作和易维护的代码。本书包含的内容从个人责任到职业发展,直至保持代码灵活和易于改编重用的架构技术。从本书中将学到防止软件变质、消除复制知识的陷阱、编写灵活、动态和易适应的代码、避免出现相同的设计、用契约、断言和异常对代码进行防护等内容。一起来看看 《程序员修炼之道(影印版)》 这本书的介绍吧!