Docker不要なコンテナ、イメージを大掃除!コンテナとイメージの一括削除
Docker不要なコンテナ、イメージを大掃除!コンテナとイメージの一括削除
go言語を最近趣味で始めたのですが何せ始めたばかりなもんで次々dockerのイメージを追加しまくってdockerのイメージリストがすごいことに。。
そんな訳で、今回はぐっちゃぐちゃになったDockerのイメージとコンテナのお掃除をしたいと思います!
コンテナの削除
まずはコンテナの削除から。コンテナに対して使ってないイメージの削除 という手順が取れるのでまずはコンテナから削除しています。
コンテナの一覧
$ docker ps
CONTAINER IDを指定して対象のコンテナを削除する
$ docker rm 98908bd74987
このとき、コンテナは停止してないと削除することができません。
再度コンテナの一覧
$ docker ps
停止中だろうがとにかくコンテナ一括削除してやるぜオラオラー!
-f フォースオプションをつけて強制的にオラオラ一括削除
$ docker rm -f $(docker ps -a -q)
今回だと一括削除だけれども、起動中のコンテナIDを指定して削除するケースでもforceオプションつけることで強制削除が可能。
続きましてー、イメージの削除
どんどんイメージ追加していくと、コンテナよりもイメージがどんどん増えてしまいますねー。
### イメージ一覧
$ docker images
IMAGE IDを指定して削除
$ docker rmi 6d9bf2aec386
発生するエラー
Error response from daemon: conflict: unable to delete 6d9bf2aec386 (must be forced) – image is referenced in multiple repositories
複数のリポジトリから参照されているイメージだから削除できないよ。強制的にやって
とあります。
IMAGE IDを指定して強制削除
$ docker rmi 6d9bf2aec386 -f
未使用のイメージの一括削除
$ docker rmi `docker images -aq`