docker jib_Jib –为Spring Boot应用程序构建docker映像
docker jib
使用Jib为示例Spring Boot应用程序创建docker映像是如此容易,这让我感到惊喜。
让我首先将Jib与以前使用的方法进行对比。
我正在使用bmuschko出色的gradle-docker插件创建docker映像。 如果可以访问docker守护进程以及基于dockerfile或直接Dockerfile的gradle dsl描述,它将使用gradle任务创建docker镜像。 就我而言,创建docker映像的任务如下所示:
task createDockerImage(type: DockerBuildImage) {inputDir = file('.')dockerFile = project.file('docker/Dockerfile')tags = ['sample-micrometer-app:' + project.version]
}createDockerImage.dependsOn build
我的Dockerfile本身是从“ java:8”基本映像派生的:
FROM java:8
...
gradle-docker-plugin使从gradle创建docker映像变得很简单,但有一个收获,即插件需要访问docker守护进程才能创建映像。 另外,由于基本的“ java:8”映像很大,因此最终docker映像在我的机器上约为705MB。 同样,gradle-docker插件也没有错,但是基于我选择的基础映像。
现在有了Jib,我要做的就是添加插件 :
plugins {id 'com.google.cloud.tools.jib' version '0.9.6'
}
配置它以给图像起一个名字:
jib {to {image = "sample-micrometer-app:0.0.1-SNAPSHOT"}
}
就是这样。 有了可用的本地docker守护程序,我可以使用以下任务创建我的docker映像:
./gradlew jibDockerBuild
Jib会自动选择一个非常轻巧的基础映像–我的新映像大小仅为150 MB。
如果我可以访问可用的Docker注册表,则不需要本地docker守护程序,它可以直接创建映像并将其发布到docker注册表!
Jib gradle插件提供了一个有趣的任务–“ jibExportDockerContext”以导出Docker文件,这样,如果需要,可以使用此Dockerfile运行Docker构建,出于我的目的,我想查看该文件的内容,它看起来像这样:
FROM gcr.io/distroless/javaCOPY libs /app/libs/
COPY resources /app/resources/
COPY classes /app/classes/ENTRYPOINT ["java","-cp","/app/libs/*:/app/resources/:/app/classes/","sample.meter.SampleServiceAppKt"]
总而言之,一个非常流畅的体验,并且Jib确实实现了其目标 。 我的带有臂架和gradle构建集成的示例项目在此处提供 。
翻译自: https://www.javacodegeeks.com/2018/07/jib-building-docker-image-spring-boot.html
docker jib
docker jib_Jib –为Spring Boot应用程序构建docker映像相关推荐
- Jib –为Spring Boot应用程序构建docker映像
使用Jib为示例Spring Boot应用程序创建docker映像是如此容易,这让我感到惊喜. 让我首先将Jib与以前使用的方法进行对比. 我正在使用bmuschko出色的gradle-docker插 ...
- 带有PostgreSQL的Docker Compose for Spring Boot应用程序
在此博客文章中,您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行. 这篇博客文章涵盖: Spring Boot应用程序Dockerfile ...
- Docker——IDEA部署Spring Boot项目到远程Docker解决方案
环境配置 IntelliJ IDEA 2021.3 CentOS 7 Docker 20.10.3 解决方案 安装Docker 官方文档:https://docs.docker.com/engine/ ...
- Docker化Spring Boot应用程序
你好朋友, 在本教程中,我们将看到如何对Spring Boot应用程序进行Docker化.通过dockerizing意味着我们将以Docker容器的形式运行应用程序. 以下是涉及的步骤: 1.创建一个 ...
- buildpack_使用Buildpack容器化Spring Boot应用程序
buildpack 在本文中,我们将看到如何使用Buildpacks容器化Spring Boot应用程序. 在先前的一篇文章中,我讨论了Jib . Jib允许我们在不使用Dockerfile的情况下将 ...
- 使用Spring Boot和MongoDB构建一个React式应用程序
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...
- 使用Spring Boot和MongoDB构建一个反应式应用程序
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...
- 在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本
如果要使用或仅通过Spring Boot检查Spring的最新版本,但当前的Spring Boot版本取决于旧的Spring版本,则需要稍微调整Gradle构建配置. 例如,在撰写本文时,Spring ...
- Openshift:使用Java 8在Wildfly 8.2.0上构建Spring Boot应用程序
OpenShift DIY墨盒是在OpenShift上测试不受支持的语言的好方法. 但是它不具有可伸缩性(您可以在此处为可伸缩DIY墨盒投票),这使得它很难与生产级Spring Boot应用程序一起使 ...
最新文章
- js面试必考:this
- python拿什么做可视化界面好-手把手教你用Python做个可视化的“剪刀石头布”小游戏...
- GitHub清除commit记录
- 【android】java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused
- 最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...
- 《我是歌手》你是歌手你会选什么时间参赛?
- Android上按钮解决快速点击问题
- 「leetcode」35.搜索插入位置:每次遇到二分法,都是一看就会,一写就废
- IntelliJ IDEA for CleanCode
- html网页设计与制作:基于html设计整套招聘网站求职前端模板页面 静态网页HTML代码 学生网页课程设计期末作业下载...
- Android中ail的作用和使用说明
- 【NOI2011】 阿狸的打字机(AC自动机+树状数组)
- Linux挂载逻辑卷
- 《读书是一辈子的事》中篇 了解未来
- 面向削峰填谷的电动汽车多目标优化调度策略——附代码
- 升级safari 12版本,easyconnectplugin插件等不能使用解决办法
- .NetCore Mediator的简单使用
- 半导体——本征半导体、杂质半导体、PN结
- 疫情下的商家痛点,如邻带你开创明天
- 红米note9 android10,红米note9尺寸大小_红米note9手机尺寸
热门文章
- P4011 孤岛营救问题
- [SCOI2015]小凸玩矩阵 (匈牙利+二分)
- [2019 牛客CSP-S提高组赛前集训营4题解] 复读数组(数论)+ 路径计数机(数上DP)+ 排列计数机(线段树+二项式定理)
- P3348-[ZJOI2016]大森林【LCT】
- 51nod1601-完全图的最小生成树计数【Trie,分治】
- jzoj4669-[NOIP2016提高A组模拟7.19]弄提纲【LCA,KMP,字符串】
- POJ2115-C Looooops【扩欧,同余】
- 牛客练习赛10 F-序列查询(莫队+链表)
- 【网络流】人员雇佣(luogu 1791)
- 【SPFA】重建道路(jzoj 1212)