【发布时间】:2022-07-08 23:30:51
【问题描述】:
我创建了一个交叉编译容器映像,其中包含针对不同目标平台(裸机 arm 核心、MINGW/Windows、armhf/Raspberry Pi)的构建环境。
以下所有操作均在 Intel NUC 8i7BEH 上的 Manjaro Linux 下完成。我以普通用户身份登录。
构建映像已经揭示了 docker 和 podman 之间的巨大性能差异。在我相当低性能的机器上,我发现 docker build 的运行速度比使用 podman 完成的相同任务快 6 倍以上。
docker build - 4 min 36 sec
podman build > 25 minutes
为单个目标构建我的应用程序然后平均使用:
podman - 73 sec
docker - 4.9sec
在同一台机器上构建本机构建平均需要 3 秒。
启动容器镜像依次为3个不同平台构建应用需要(平均):
podman - 85 sec
docker - 13 sec
如何解释容器性能的这种巨大差异?我能做些什么来提高 podman 的性能,使其至少进入与 docker 相同的区域吗?我宁愿使用 podman 而不是 docker。我更喜欢 podman 提供的无服务设置以及无根容器。
谢谢 斯蒂芬
【问题讨论】:
-
您可能希望将您的问题提交给 podman 开发人员。您可以找到与他们联系的信息here。
-
我的猜测是 fuse-overlayfs 可能有点慢。本机 overlayfs 更快。 Podman 版本 >= 3.1 在 Linux 内核版本 >= 5.12 上支持以非特权用户身份使用本机 overlayfs