Dockerをrootlessで使いたかったがために2日溶かしたので怒りの解決策メモです
aqz/tamaina
3 years ago
Dockerの実行には一般的にはroot権限が必要ですが、root権限の必要ない"rootless"モードがあります。
しかし、インストールしようとするとsystemd not detected, dockerd-rootless.sh needs to be started manually
と言われます(systemd --userが検出できない)。
systemctl --user
を実行してもFailed to connect to bus: No such file or directory
と言われてしまいました。
解決策をメモしておきます。
どうすればいいの
まず、root権限でloginctl enable-linger (ユーザー名)
を実行します。
sudo loginctl enable-linger misskey
(追記: シェルスクリプト等ですぐに次に進んでもダメなようです。sleep 5とかをするとうまくいきます。)
sudo su -でログインします。
sudo su - misskey
XDG_RUNTIME_DIRを設定します。
export XDG_RUNTIME_DIR=/run/user/$UID
もう一度スクリプトを走らせればたぶんいけるはずです。
さらに
DOCKER_HOSTの設定も変更が必要でした。
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
なぜこうなったの
他のユーザーでssh接続した後にsudo su - (user)で使いたいユーザーにログインすると、このような手順を踏む必要があります。
コメント
いいね
投げ銭
最新順
人気順
コメント
いいね
投げ銭
最新順
人気順