参考:
2022 年要考虑的 7 种 Docker 替代方案https://mp.weixin.qq.com/s/4Dp5UI49xhjTBKosLV3E0g

时间:2022.2.7

Podman

Podman 是 RedHat 开发的一个无守护程序的开源 Linux 原生容器引擎,用于构建、运行和管理 Linux OCI 容器与容器镜像

不依赖守护进程:
Docker 运行一个持久的、自给自足的运行时来管理其对象或称为 dockerd 的守护进程;
Podman 并不依赖守护进程来工作,相反,Podman 将容器作为子进程启动。没有守护进程提高了 Podman 作为容器引擎的灵活性,消除了对单个进程的依赖。

不需要 root 权限
这一特点提供了一个额外的安全缓冲区,限制了某些可能操纵关键系统设置并使容器和包含的应用程序易受攻击的潜在危险进程。

此外,Podman 可以运行 pod— 包含一个或多个容器的集合,作为一个单一实体管理,并利用共享的资源池。通过这项能力,Podman 用户可以将他们的工作负载转移到 Kubernetes。

LXD

LXC/LXD 中的容器可以运行多个进程
LXD 只支持 Linux

containerd

containerd 是一个高级容器运行时,它通过在底层运行 runc 以提供操作系统和容器引擎之间的接口。runc 是一个支持 Windows 和 Linux 的守护进程,它抽象了特定于操作系统的功能,使运行和监督容器以及管理图像传输和存储变得更加容易。

containerd 提供的这种抽象级别功能消除了进行若干低级系统调用的复杂性,使得容器的可移植性得以实现。
containerd 不处理镜像的构建或卷的创建。

Buildah

它是一个提供类似于在 Docker 中运行 docker build 的功能的工具。Buildah 经常与 Podman 一起使用,互作补充,例如,Podman 在后台使用 Buildah 功能的子集来实现其构建过程。