当我跑步时podman run --init
,我得到
$> podman run --init -ti cp /sbin/init
Error: container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory
但我可以很容易地验证那里有一个 init,
$> podman run cp ls -- /sbin | grep init
init
telinit
什么是catatonit
?为什么我会收到此错误以及如何解决它?
答案1
该错误不是抱怨,/sbin/init
而是抱怨/usr/libexec/podman/catatonit
,它指向/usr/libexec/catatonit/catatonit
。后者由可能未安装在您的系统上的软件包提供catatonit
(它只是 的弱依赖项podman
)。
在费多拉上,
sudo dnf install catatonit
应该解决问题(但如果您安装,则应该为您安装该软件包podman
)。
在 Debian 上,你会遇到#971815;您必须等待该错误的修复,或者提供您自己的容器init
。一种方法是
sudo ln -sf /usr/bin/docker-init /usr/libexec/podman/catatonit
或配置podman
为直接使用docker-init
而不是catatonit
(in ~/.config/containers/containers.conf
)。
[containers]
init_path="/usr/bin/docker-init"
答案2
您可以安装container-init二进制文件并在其中定义它容器配置文件,如蒂尼:
[containers]
init_path= "/usr/bin/tini"
也许根本不需要它:
[containers]
init = false