HiÐΞClassic

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)で使いたいユーザーにログインすると、このような手順を踏む必要があります。


コメント
いいね
投げ銭
最新順
人気順
aqz/tamaina
3 years ago
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン