Yac*_*uri 15 containers docker kaniko docker-buildkit buildx
据我了解:
我能收集到的差异:
我不清楚的是两组工具之间的重叠程度以及何时应该使用其中一个而不是另一个。例如,这两个工具似乎都很好地涵盖了在 Kubernetes 集群上自托管远程映像构建场的用例。
jbi*_*ick 20
尽管功能有重叠,但主要区别如下:
\n| 构建套件 | 蟹子 | |
|---|---|---|
| 不使用 root 或守护进程\xc2\xb2 进行构建 | \xe2\x9c\x94 | \xe2\x9c\x94 |
| 构建多架构\xc2\xb3 | \xe2\x9c\x94 | |
| 远程层缓存\xe2\x81\xb4 | \xe2\x9c\x94 | \xe2\x9c\x94 |
| 本地层缓存\xe2\x81\xb5 | \xe2\x9c\x94 |
\xc2\xb2 Kaniko 和 BuildKit 都可以运行daemonless和rootless,但实际上,以我的愚见,Kaniko 更容易从非根容器中构建容器。Kaniko “在非特权环境中的容器内以 root 用户身份构建”,但不需要 root 或守护程序。BuildKit 通过 暴露时buildx需要一个特权 docker 守护进程,但 BuildKit 在其独立形式中不需要守护进程或 root 权限(使用一些工具,如 RootlessKit)。
\xc2\xb3 在撰写本文时 Kaniko 不支持多架构构建。https://docs.docker.com/desktop/multi-arch/#build-multi-arch-images-with-buildx
\n\xe2\x81\xb4 BuildKit 和 Kaniko 支持基于注册表的缓存。然而,BuildKit 要求注册表支持缓存清单列表。
\n\xe2\x81\xb5 BuildKit 支持多个--cache-to选项,包括本地文件系统。https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to
通常,构建环境或平台的限制/功能将决定哪种工具最合适,如果两种工具都可以选择,那么速度可能会帮助您做出决定(尽管这应该进行彻底的基准测试)。
\n| 归档时间: |
|
| 查看次数: |
7999 次 |
| 最近记录: |