일반유저에게 고소한 후 실행하면
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
몇 가지 해결 방법이 있지만 내 경험으로는 신뢰할 수 없습니다.