Buildah和波德曼都是互补的开源项目和命令行工具,使用并构建OCI-图像和容器。首先创建了Buildah,Podman使用与Buildah相同的代码进行构建。然而,Buildah的命令比Podman的更详细,它允许对图像进行细粒度控制,并允许创建更精细的图像层。波德曼的“build”命令使用了Buildah功能的一个子集。
Buildah专门用于构建容器映像,复制Dockerfile中的所有命令,而不使用守护程序套接字组件,而Podman专门负责维护和修改容器中的映像。使用Podman,您可以使用Buildah创建容器以提供容器映像,然后使用熟悉的命令行界面(CLI)命令运行、维护和修改您在生产环境中创建的容器(如果您可以在Docker CLI中运行命令,则可以在Podman CLI中运行相同的命令)。
Podman和Buildah不同的另一种方式是:Buildah的容器主要是临时创建的,以允许将内容传输到正在创建的容器映像中,而使用Podman,用户可以创建传统容器,用于更长时间的使用和维护。Buildah的容器用于短期目的,而Podman的容器用于长期目的。
还有一件事。Buildah和Podman不共享容器的内部表示,因此一个容器中的容器不能在另一个中看到。但是,它们确实共享容器图像的内部表示,允许从一个容器图像创建、修改或提取的容器图像在另一个容器中显示和使用。