Docker不要なコンテナ、イメージを大掃除!コンテナとイメージの一括削除 ITかあさん

ITかあさん

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`