![podmanエラー:ERRO [0013] rootなしのnetns slirp4netnsプロセスをsystemd user.sliceに移動できませんでした:プロセスorg.freedesktop.systemd1が終了しました。](https://linux33.com/image/216381/podman%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%9AERRO%20%5B0013%5D%20root%E3%81%AA%E3%81%97%E3%81%AEnetns%20slirp4netns%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%92systemd%20user.slice%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%EF%BC%9A%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9org.freedesktop.systemd1%E3%81%8C%E7%B5%82%E4%BA%86%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82.png)
一般ユーザーに訴えた後に実行すると
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@localhost
。su
元のユーザーが設定した変数を使用すると、切り替えるユーザーのシェル環境が汚染されます。これはポッドマンの既知の問題です。私はこれをやってきsudo su - user
ましたが、実行時にpodmanが失敗します。-
orを使用するだけでは十分ではありません。コンソールログインにはorを--login
使用する必要があります。ssh
いくつかの回避策がありますが、私の経験では信頼できません。