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映像相关推荐

  1. Jib –为Spring Boot应用程序构建docker映像

    使用Jib为示例Spring Boot应用程序创建docker映像是如此容易,这让我感到惊喜. 让我首先将Jib与以前使用的方法进行对比. 我正在使用bmuschko出色的gradle-docker插 ...

  2. 带有PostgreSQL的Docker Compose for Spring Boot应用程序

    在此博客文章中,您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行. 这篇博客文章涵盖: Spring Boot应用程序Dockerfile ...

  3. Docker——IDEA部署Spring Boot项目到远程Docker解决方案

    环境配置 IntelliJ IDEA 2021.3 CentOS 7 Docker 20.10.3 解决方案 安装Docker 官方文档:https://docs.docker.com/engine/ ...

  4. Docker化Spring Boot应用程序

    你好朋友, 在本教程中,我们将看到如何对Spring Boot应用程序进行Docker化.通过dockerizing意味着我们将以Docker容器的形式运行应用程序. 以下是涉及的步骤: 1.创建一个 ...

  5. buildpack_使用Buildpack容器化Spring Boot应用程序

    buildpack 在本文中,我们将看到如何使用Buildpacks容器化Spring Boot应用程序. 在先前的一篇文章中,我讨论了Jib . Jib允许我们在不使用Dockerfile的情况下将 ...

  6. 使用Spring Boot和MongoDB构建一个React式应用程序

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...

  7. 使用Spring Boot和MongoDB构建一个反应式应用程序

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...

  8. 在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本

    如果要使用或仅通过Spring Boot检查Spring的最新版本,但当前的Spring Boot版本取决于旧的Spring版本,则需要稍微调整Gradle构建配置. 例如,在撰写本文时,Spring ...

  9. Openshift:使用Java 8在Wildfly 8.2.0上构建Spring Boot应用程序

    OpenShift DIY墨盒是在OpenShift上测试不受支持的语言的好方法. 但是它不具有可伸缩性(您可以在此处为可伸缩DIY墨盒投票),这使得它很难与生产级Spring Boot应用程序一起使 ...

最新文章

  1. js面试必考:this
  2. python拿什么做可视化界面好-手把手教你用Python做个可视化的“剪刀石头布”小游戏...
  3. GitHub清除commit记录
  4. 【android】java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused
  5. 最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...
  6. 《我是歌手》你是歌手你会选什么时间参赛?
  7. Android上按钮解决快速点击问题
  8. 「leetcode」35.搜索插入位置:每次遇到二分法,都是一看就会,一写就废
  9. IntelliJ IDEA for CleanCode
  10. html网页设计与制作:基于html设计整套招聘网站求职前端模板页面 静态网页HTML代码 学生网页课程设计期末作业下载...
  11. Android中ail的作用和使用说明
  12. 【NOI2011】 阿狸的打字机(AC自动机+树状数组)
  13. Linux挂载逻辑卷
  14. 《读书是一辈子的事》中篇 了解未来
  15. 面向削峰填谷的电动汽车多目标优化调度策略——附代码
  16. 升级safari 12版本,easyconnectplugin插件等不能使用解决办法
  17. .NetCore Mediator的简单使用
  18. 半导体——本征半导体、杂质半导体、PN结
  19. 疫情下的商家痛点,如邻带你开创明天
  20. 红米note9 android10,红米note9尺寸大小_红米note9手机尺寸

热门文章

  1. P4011 孤岛营救问题
  2. [SCOI2015]小凸玩矩阵 (匈牙利+二分)
  3. [2019 牛客CSP-S提高组赛前集训营4题解] 复读数组(数论)+ 路径计数机(数上DP)+ 排列计数机(线段树+二项式定理)
  4. P3348-[ZJOI2016]大森林【LCT】
  5. 51nod1601-完全图的最小生成树计数【Trie,分治】
  6. jzoj4669-[NOIP2016提高A组模拟7.19]弄提纲【LCA,KMP,字符串】
  7. POJ2115-C Looooops【扩欧,同余】
  8. 牛客练习赛10 F-序列查询(莫队+链表)
  9. 【网络流】人员雇佣(luogu 1791)
  10. 【SPFA】重建道路(jzoj 1212)