podmanエラー:ERRO [0013] rootなしのnetns slirp4netnsプロセスをsystemd user.sliceに移動できませんでした:プロセスorg.freedesktop.systemd1が終了しました。

podmanエラー:ERRO [0013] rootなしの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
/ # 

PS: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@localhostsu元のユーザーが設定した変数を使用すると、切り替えるユーザーのシェル環境が汚染されます。これはポッドマンの既知の問題です。私はこれをやってきsudo su - userましたが、実行時にpodmanが失敗します。-orを使用するだけでは十分ではありません。コンソールログインにはorを--login使用する必要があります。sshいくつかの回避策がありますが、私の経験では信頼できません。

関連情報