Arc*_*ano 4 docker spring-boot jib
Spring Boot 2.3.x 添加了通过 spring-boot:build-image 使用其插件构建 Docker 镜像的功能。Jib 似乎允许相同的功能,但不限于 Spring boot。
Spring Boot 应用程序利用该 jib 是否有任何特定的优化没有提供(这就是为什么有一个 Spring Boot 插件的原因?)
Jib 和 Spring Boot 的镜像构建的主要区别在于后者使用Buildpacks来创建镜像。buildpacks.io上有一个比较表,列出了一些最显着的差异。
这是主观的,但 rebase 支持可能是最值得注意的。Rebase 镜像允许包含应用程序代码的层重新基于新的操作系统或 JVM 层,而无需重新构建应用程序。这使得 OS 和 JVM 安全更新的应用速度比每个应用程序及其整个映像都必须重建以使用更新快得多。
我们希望 Jib 与所有框架都能很好地工作,我们对 spring-boot 的持续支持是重中之重。如果您喜欢 jib 并且希望继续使用它,您应该看不到性能上的差异。事实上,spring 团队已经在 spring boot 工具中添加了一些配置,可以帮助各地的容器构建者构建更好的容器。
除此之外,Jib 旨在在任何地方运行,您不需要容器运行时,也不需要 buildpacks 服务,只要您拥有源代码和构建文件,您就可以创建容器。
是的,rebase 是有价值的,但是关于buildpacks .io 上关于为什么buildpacks是最好的的比较显然背后有一点营销魔法。由于容器的构建方式,Rebase变得流畅而简单。开始理解它的一个有用的方法是用困难的方式构建容器。Buildpacks 与 Jib 中 rebase 工作方式的区别如下(我认为主要是):
我认为Andy和loosebazooka的答案中缺少的一个重要方面(或者在我看来不够清楚)是Spring-Boots“create-image”确实需要Docker Deamon来构建。传统上创建 docker 镜像构建将调用类似“docker build ....”的命令。Create-image 执行类似的操作,因此需要安装 Docker,可以是本地安装,也可以是远程安装(使用 DOCKER_HOST 设置)。
JIB 没有这个限制,这对您的构建服务器来说可能是一个优点。
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |