root以外のユーザーにdockerを実行しようとしていますが、うまく動作しないようですsystemctl
。
私はDebian 11を使用しています。 root権限を持つユーザーをログインするためにキーペアを使用し、権限を持つユーザーを介していない他のアカウントからのログインは無効になります。
ルートレスドッカー設定チュートリアルに従った後https://statswork.wiki/engine/security/rootless/私は次のような結果を得ます。
[INFO] systemd not detected, dockerd-rootless.sh needs to be started manually:
PATH=/home/docker-user/bin:/sbin:/usr/sbin:$PATH dockerd-rootless.sh
[INFO] Creating CLI context "rootless"
Successfully created context "rootless"
[INFO] Make sure the following environment variables are set (or add them to ~/.bashrc):
# WARNING: systemd not found. You have to remove XDG_RUNTIME_DIR manually on every logout.
export XDG_RUNTIME_DIR=/home/docker-user/.docker/run
export PATH=/home/docker-user/bin:$PATH
export DOCKER_HOST=unix:///home/docker-user/.docker/run/docker.sock
このように変数を設定しましたが、systemctl --userを実行すると、次のエラーが発生しました。
Failed to connect to bus: No such file or directory
このスレッドを見つけました。Systemdが検出されず、dockerdデーモンを手動で起動する必要があります。その後、ユーザーの遅延を正常に有効にして設定しましたXDG_RUNTIME_DIR=/run/user/$UID
。
systemctl --user
期待どおりに動作しますが、突然問題が発生しますsystemctl --user start docker
。
Failed to start docker.service: Unit docker.service not found.
XDG_RUNTIME_DIR
変数がに設定されていないため、これが問題であると考えられます/home/docker-user/.docker/run
。ああ、単に動作しないので、このように設定することができなかったので、systemctl --user
ここに閉じ込められました。pam_systemd
上記のように、sshでは他のユーザーログインが許可されていないため、そのユーザーとしてログインすることはできません。 Rootless Dockerを再インストールしようとしましたが、同じエラーが発生しました。
Dockerサービスを正しく有効にする方法はありますか?