最近Fedoraワークステーション32を使い始めましたが、Dockerをインストールする必要があり、snapを使用することにしました。インストールは、インストール後の手順とともにうまくいきました。しかし、Dockerスナップを実行しようとすると、次のプロンプトが表示されます。
$ 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-world
を実行すると、同じプロンプトが表示され、Dockerデーモンに接続できません。 Dockerスナップサービスを調べると、
Service Startup Current Notes
docker.dockerd enabled inactive -
docker run
コマンドを実行しようとすると、アクティブなサービスが非アクティブな状態に戻ります。この問題の修正にご協力いただければ幸いです。ありがとうございました :)
Fedora 31および32はデフォルトでcgroup v2を使用しますが、Dockerは(まだ)これをサポートしていません。
2つのオプションがあります。1つはDockerの代わりにPodmanを使用すること(オプションで、podman-docker
パッケージを使用してDocker CLIをエミュレートするため)、またはcgroup v1に戻すことです。
後者を行うには、systemd.unified_cgroup_hierarchy
カーネルパラメータを0に設定します。
Sudo dnf install grubby
Sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
これにより、Dockerを実行できます(再起動後)。
ちなみに、Fedoraでは、Dockerスナップを使用する代わりに、moby-engine
パッケージを使用してDockerをインストールできます。