◆ systemd のアップデートの影響みたい
◆ grubby で systemd.unified_cgroup_hierarchy=0 を設定する
◆ Docker がリポジトリから消えててアップデートできなくなってた
◆ 最新版を使うには CE 版を入れないとダメそう

久々に Docker を使ったら動きませんでした
サービス自体が止まってるようです

再起動しようにもエラーがでて起動できません

Error starting daemon: Devices cgroup isn't mounted

調べて見ると issue がありました

https://github.com/docker/cli/issues/2104

Fedora 31 にすると起きる問題みたいです
systemd のアップデートの影響らしく Docker がそれに対応できてないみたいです

systemd の設定を変更すれば解決できるみたいだったのでやってみました
systemd の設定と言っても systemctl コマンドを使ったり /etc のファイルを変更するわけではなくカーネルの設定を変更するみたいです

grubby というコマンドを使えば簡単に変更できるようで ⇩ のコマンドを実行すれば良いらしいです

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

全部のカーネルに対して systemd.unified_cgroup_hierarchy=0 を設定するみたいです
デフォルトで有効になったオプションを無効に戻してるようです
コマンド実行後に再起動すると無事 Docker が起動できました

grubby コマンドは dnf でインストールできますが私の環境では初期インストールの時点で入ってました

Docker がリポジトリからなくなってる

起動できて満足だったのですが 気になったことがあります
Docker パッケージのバージョンが fc31 になっていません
普通はメジャーアップデートのときにアップデート先のバージョンへパッケージもアップデートされて勝手に fc31 になってるはずです
それが気になって dnf で検索すると fc31 には Docker はありませんでした
インストールしたときの Fedora 29 のリポジトリを探すと Docker は存在します
今回の問題があると言っても それだけでリポジトリから消すのでしょうか?

ググってみると Docker CE というものがでてきます
dnf にリポジトリを追加して入れないとダメみたいです
Docker に無料版と有料版が出たことでの影響みたいです
そういえば この Fedora に Docker をインストールしたときは標準のリポジトリにあるものと外部にあってリポジトリ追加必要なものがあって 面倒だから標準の方をインストールした記憶があります
それが今になって影響してきたわけですね