Init

podman run with –init 給了我:錯誤:在主機上找不到容器初始化二進製文件:stat /usr/libexec/podman/catatonit:沒有這樣的文件或目錄

  • December 30, 2020

當我跑步時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?為什麼我會收到此錯誤,我該如何解決?

錯誤不是在抱怨,/sbin/init而是在抱怨/usr/libexec/podman/catatonit,這指向/usr/libexec/catatonit/catatonit. 後者由catatonit可能未安裝在您的系統上的軟體包提供(它只是對 的弱依賴podman)。

在 Fedora 上,

sudo dnf install catatonit

應該解決問題(但如果你安裝,應該為你安裝包podman)。

在 Debian 上,您遇到了#971815;您必須等待該錯誤的修復,或者提供您自己的容器init。一種方法是

sudo ln -sf /usr/bin/docker-init /usr/libexec/podman/catatonit

或配置podmandocker-init直接使用而不是catatonit(in ~/.config/containers/containers.conf)。

[containers]
init_path="/usr/bin/docker-init"

引用自:https://unix.stackexchange.com/questions/619212