这两个命令有何不同?他们都以 pid 1 启动 shell 并进行相同的安装和卷,
buildah run --tty --mount type=tmpfs,destination=/run -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
$(buildah from centos:7) /bin/sh -c 'exec /sbin/init'
podman run -ti --mount type=tmpfs,destination=/run -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
centos:7 /bin/sh -c 'exec /sbin/init'
但只有 podman 可以工作。我在这里误解了什么?
答案1
Podman run 为 init(systemd) 系统配置正确的运行环境。 Buildah 没有。我们的目标不是让 Podman 运行和 Buildah 运行相同。
buildah run 相当于 Continerfile(Dockerfile) 中的 RUN 命令。因为我从未见过有人创建像这样的 Containerfile
FROM centos:7
RUN /bin/init
这不是我们考虑过的事情,也不太可能支持。