podman 错误:ERRO[0013] 无法将 rootless netns slirp4netns 进程移动到 systemd user.slice:进程 org.freedesktop.systemd1 已退出

podman 错误:ERRO[0013] 无法将 rootless netns slirp4netns 进程移动到 systemd user.slice:进程 org.freedesktop.systemd1 已退出

在 su 到普通用户之后,当我运行时

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位于软件包中 systemd-容器

$ 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原始用户设置的变量会污染您切换到的用户的 shell 环境。这是 podman 的一个已知问题。我一直在这样做sudo su - user,但这导致运行 podman 时失败。使用-or--login是不够的,需要使用sshor 进行控制台登录。有一些解决方法,但根据我的经验,它们并不可靠。

相关内容