podman 오류: ERRO[0013] 루트 없는 netns slirp4netns 프로세스를 systemd user.slice로 이동할 수 없습니다: 프로세스 org.freedesktop.systemd1이 종료되었습니다.

podman 오류: ERRO[0013] 루트 없는 netns slirp4netns 프로세스를 systemd user.slice로 이동할 수 없습니다: 프로세스 org.freedesktop.systemd1이 종료되었습니다.

일반유저에게 고소한 후 실행하면

podman run --network=podman" -it ubi8

오류가 발생했습니다.

ERRO[0013] failed to move the rootless netns slirp4netns process to the systemd user.slice: Process org.freedesktop.systemd1 exited with status 1

시스템 로그 /var/log/messages에서:

Jan 26 12:16:39 ezb5568 dbus-daemon[145488]: Cannot setup inotify for '/root/.local/share/dbus-1/services'; error 'Permission denied'
Jan 26 12:16:39 ezb5568 dbus-daemon[145488]: [session uid=0 pid=145486] Activating service name='org.freedesktop.systemd1' requested by ':1.0' (uid=0 pid=145470 comm="podman run --network=podman")
Jan 26 12:16:39 ezb5568 dbus-daemon[145488]: [session uid=0 pid=145486] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1

답변1

다른 사용자로 대화형으로 podman 실행

$ sudo -i
# machinectl shell username@
Connected to the local host. Press ^] three times within 1s to exit session.
$ podman run --rm -ti docker.io/library/alpine
/ # cat /etc/alpine-release 
3.17.3
/ # 

추신: Fedora 38 시스템에서 이 명령은 machinectl패키지에 있습니다. 시스템 컨테이너

$ rpm -qf /usr/bin/machinectl
systemd-container-253-1.fc38.aarch64

비대화식으로 다른 사용자로 podman 실행

# sudo systemd-run \
         --machine=username@ \
         --quiet \
         --user \
         --collect \
         --pipe \
         --wait \
           podman run \
              --rm \
              docker.io/library/alpine \
                  echo hello
hello

참고 사항: Fedora 38 시스템에서 이 명령은 systemd-run패키지에 있습니다. 체계

$ rpm -qf /usr/bin/systemd-run
systemd-253-1.fc38.aarch64

su다른 사용자로 podman을 실행하지 않는 이유

사용하지 않는 이유는 su블로그 게시물을 읽어보세요.

sudo 또는 su를 통해 사용자로 로그인할 때 루트 없는 Podman 컨테이너를 실행할 수 없는 이유는 무엇입니까? https://www.redhat.com/sysadmin/sudo-rootless-podman

답변2

podman을 실행하는 다른 사용자로 변경하는 경우 해당 사용자로 콘솔 로그인해야 합니다 ssh user@localhost. su원래 사용자가 설정한 변수를 사용하면 전환하는 사용자의 셸 환경이 오염됩니다. 이는 Podman의 알려진 문제입니다. 나는 이것을 해왔 sudo su - user지만 실행시 podman이 실패하게 됩니다. -or를 사용하는 것으로 는 충분하지 않습니다. 콘솔 로그인을 위해서는 or를 --login사용해야 합니다 . ssh몇 가지 해결 방법이 있지만 내 경험으로는 신뢰할 수 없습니다.

관련 정보