nixを使用してdockerをインストールして実行する方法

nixを使用してdockerをインストールして実行する方法

私はWSLでDebianを使用しています。 Nixはすでにインストールされています。

次のコマンドを使用してdockerをインストールしました。

nix-env -iA nixpkgs.docker

デーモンプロセスを開始したい。

systemctl start docker

バスに接続できません。そのファイルやディレクトリはありません。

修正する

参照用 $XDG_RUNTIME_DIR= /mnt/wslg/runtime-dir $UID=1000 $DBUS_SESSION_BUS_ADDRESS 値なし

ls -l /mnt/wslg/runtime-dir

drwx------ 4 PierrePierre120 12月26日 00:41 ランタイムディレクトリ

バスに乗れます。しかし、sudoを使用する必要があります。

sudo systemctl start docker

今私にはこの問題があります。

docker.serviceを起動できません。ユニットdocker.serviceが見つかりません。

私の考えでは、docker.serviceは/etc/systemd/system/docker.serviceファイルです。

しかし、私のOSには存在しません。 nixを使ってdockerを削除して再インストールしてみました。役に立たない

私はこれが関連していると思います:

https://discourse.nixos.org/t/docker-packages-systemd-unit-files-dont-work-on-ubuntu/12160

sudo cp ~/.nix-profile/etc/systemd/system/docker.service /etc/systemd/system/docker.service

sudo cp ~/.nix-profile/etc/systemd/system/docker.sock /var/run/docker.sock

sudo systemctl enable docker


 Failed to start docker.service: Unit docker.socket not found.

docker.serviceを起動できません。ユニットdocker.socketが見つかりません。

この記事を読んだ後協会、docker.socketファイルを置き換える場所を知るには、このコマンドを使用します。 :

 systemctl list-sockets --all

しかし、docker.socketはリストされていません。

**直す

すべてのコマンドを最初から作成しました。これで、docker.serviceの依存関係操作が失敗する問題があります。詳細については、「journalctl -xe」を参照してください。

ベストアンサー1

質問が正しく理解されている場合は、手動で設定する必要がありますXDG_RUNTIME_DIR/run/user/...時々他のユーザーが所有していることもあるためです(正直にはわかりません))。

では、nixを設定しXDG_RUNTIME_DIR = "/run/user/$UID"て再起動してみますか?

それでも機能しない場合は、に設定する必要がDBUS_SESSION_BUS_ADDRESSありますDBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"

ここであなたと同様のスレッドを見つけることができます。 https://superuser.com/questions/1561076/systemctl-user-failed-to-connect-to-bus-no-such-file-or-directory-debian-9

これが役に立ちましたか、問題を解決しましたか?

おすすめ記事