--init를 사용하여 podman을 실행하면 다음이 표시됩니다. 오류: 호스트에서 컨테이너 초기화 바이너리를 찾을 수 없습니다: stat /usr/libexec/podman/catatonit: 해당 파일 또는 디렉터리가 없습니다.

--init를 사용하여 podman을 실행하면 다음이 표시됩니다. 오류: 호스트에서 컨테이너 초기화 바이너리를 찾을 수 없습니다: stat /usr/libexec/podman/catatonit: 해당 파일 또는 디렉터리가 없습니다.

내가 달릴 때 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).

데비안에서는 다음과 같은 문제를 만나게 됩니다.#971815;이 버그가 수정될 때까지 기다리거나 자체 컨테이너를 제공해야 합니다 init. 한 가지 방법은

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

또는 대신에 podman직접 사용되도록 구성합니다 ( 에서 ).docker-initcatatonit~/.config/containers/containers.conf

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

답변2

컨테이너 초기화 바이너리를 설치하고 정의할 수 있습니다.컨테이너 구성 파일, 루틴:

[containers]
init_path= "/usr/bin/tini"

어쩌면 전혀 필요하지 않을 수도 있습니다.

[containers]
init = false

관련 정보