環境
- Ubuntu
やりたいこと
Dockerの調子が悪いので完全初期化したい。生半可な削除ではむしろ環境が壊れてしまったので完全削除対応メモ。
手順
Dockerを停止する。 docker.socket を止めないとsocket activationでdockerdが勝手に起き上がってくるので、両方止める。
$ sudo systemctl stop docker.socket docker containerd
remove ではなく purge で削除
$ sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
イメージ・コンテナ・ボリュームを削除する。パッケージを消してもこのディレクトリは残るので必ず削除する。
$ sudo rm -rf /var/lib/docker $ sudo rm -rf /var/lib/containerd
daemon.json の記述ミスで起動しない、みたいなケースはここを消さないと直らない。ユーザーごとの ~/.docker にもログイン情報やcontextの設定が残っているので一緒に消す。
$ sudo rm -rf /etc/docker $ sudo rm -rf /etc/systemd/system/docker.service.d $ sudo rm -rf /var/lib/docker-engine $ rm -rf ~/.docker $ sudo systemctl daemon-reload
dockerグループを削除する。グループを消すと usermod -aG docker $USER をやり直すことになるが、GIDがズレたまま残っているのが原因のパーミッションエラーもあるので、完全初期化を謳うなら消す。
$ sudo groupdel docker