【发布时间】:2021-01-10 20:17:36
【问题描述】:
Spring Boot 2.3.x 添加了通过 spring-boot:build-image 使用其插件构建 Docker 映像的功能。 Jib 似乎允许相同的功能,但不限于 Spring boot。
Spring Boot 应用程序是否可以利用该 jib 不提供的任何特定优化(这就是为什么有一个 Spring Boot 插件的原因?)
【问题讨论】:
标签: spring-boot docker jib
Spring Boot 2.3.x 添加了通过 spring-boot:build-image 使用其插件构建 Docker 映像的功能。 Jib 似乎允许相同的功能,但不限于 Spring boot。
Spring Boot 应用程序是否可以利用该 jib 不提供的任何特定优化(这就是为什么有一个 Spring Boot 插件的原因?)
【问题讨论】:
标签: spring-boot docker jib
我们希望 Jib 能够很好地与所有框架配合使用,并且我们对 spring-boot 的持续支持是我们的重中之重。如果您喜欢 jib 并希望继续使用它,您应该会发现性能没有差异。事实上,spring 团队已经在 spring boot 工具中添加了一些配置,可以帮助各地的容器构建者构建更好的容器。
除此之外,Jib 被设计为在任何地方运行,您不需要容器运行时,也不需要 buildpacks 服务,只要您有源代码和构建文件就可以创建容器。
是的,rebase 很有价值,但是 buildpacks.io 上关于为什么 buildpacks 是最好的比较显然背后有一点营销魔力。由于容器的构建方式,Rebase 变得流畅和容易。开始理解它的一个有用方法是Building containers the hard way。 Buildpacks 与 Jib 中 rebase 的工作方式的区别如下(我认为主要是):
【讨论】:
Jib 和 Spring Boot 的镜像构建的主要区别在于后者使用Buildpacks 来创建镜像。 buildpacks.io 上的 comparison table 列出了一些最显着的差异。
这是主观的,但变基支持可能是最值得注意的。重新定位映像允许包含应用程序代码的层或多个层在新的操作系统或 JVM 层之上重新定位,而无需重新构建应用程序。与必须重新构建每个应用程序及其整个映像以使用更新相比,这使得应用操作系统和 JVM 安全更新的速度要快得多。
【讨论】: