使用 podman/buildah,我想要构建一个已安装主机文件系统的容器映像。
如果这些文件系统在 /etc/singularity/singularity.conf 中定义,我可以使用 Singularity 执行此操作sudo singularity build /tmp/lolcow.simg /tmp/lolcow.recipe
。如何使用 podman 执行此操作?我试图避免在 podman 运行阶段使用 -v。我不受 Docker 兼容性的限制,因此如果有特定于 buildah 的方法来执行此操作,那就太好了。
podman-build 手册页给出了一个使用示例podman build --volume /home/test:/myvol:ro,Z -t imageName .
但是当我尝试并运行生成的图像时,/home/test 文件系统的等效项并未挂载。
答案1
我想要构建一个已安装主机文件系统的容器映像。
你不能,主要是因为这样的图像会带来巨大的安全风险(可以强制任意主机挂载的容器可以愉快地将你的整个文件系统导出到恶意远程端点 - 即使以非用户身份运行,root
这仍然会带来相当大的问题)。
使用--volume
选项将podman build
卷挂载到容器内在构建过程中,但没有机制可以指示 Podman(或 Docker)在运行时自动挂载某些东西。