docker: unix:///var/run/docker.sock から Docker デーモンに接続できません。

docker: unix:///var/run/docker.sock から Docker デーモンに接続できません。

私は最近Fedora Workstation 32を使い始めましたが、ここではdockerをインストールする必要があり、snapを使用することにしました。インストールプロセスとインストール後のステップがスムーズでした。ただし、docker snapを実行しようとすると、次のようなプロンプトが表示されます。

$ docker run hello-world

WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

だから走り続けています。

$ sudo snap start docker
Started.

$ sudo snap services docker
Service         Startup  Current  Notes
docker.dockerd  enabled  active   -

その後、実行すると、docker run hello-worlddockerデーモンに接続できないという同じメッセージが表示されます。私が受け取ったdocker snapサービスを確認すると、

Service         Startup  Current   Notes
docker.dockerd  enabled  inactive  -

コマンドを実行しようとすると、docker runアクティブサービスは再び非アクティブになります。この問題の解決にご協力いただきありがとうございます。ありがとうございます:)

答え1

Fedora 31 と 32 はデフォルトで Docker がまだサポートしていない cgroup v2 を使用します。

Dockerの代わりにPodmanを使用するか(オプションでパッケージを使用してpodman-dockerDocker CLIをエミュレートする)、cgroup v1に戻す2つのオプションがあります。

後者を実行するには、systemd.unified_cgroup_hierarchyカーネルパラメータを0に設定します。

sudo dnf install grubby
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"

これにより、Dockerを再起動できます(再起動後)。

moby-engineちなみに、Fedoraでは、Dockerスナップを使用するのではなく、このパッケージを使用してDockerをインストールできます。

関連情報