

dockerイメージを個別に消す・全部消す
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
不要になったdockerイメージを消す手順のメモ。
イメージIDを確認する
docker images で一覧を出す。
$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> xxxxxxxxxxxx 5 minutes ago 613MBregistry.example.com:5000/group-name/container latest zzzzzzzzzzzz 2 months ago 532MB<none> になっているのはdangling image。ビルドの過程でタグが付け替わって残った古いイメージのこと。
IDを指定して消す
$ docker rmi xxxxxxxxxxxxDeleted: sha256:7f125599e6e58f288ce702749476c5b31976659ae53188b59d0c726755eca4c1Deleted: sha256:0e5b786ba12d5d47adb18d81cd69dd0dbffca3b775aba1e8609026fdeb13b5d1...そのイメージからコンテナが作られている(停止中も含む)と消せずにエラーになる。
Error response from daemon: conflict: unable to delete xxxxxxxxxxxx (must be forced) - image is being used by stopped container ...構わず消したいときは -f を付ける。
$ docker rmi -f xxxxxxxxxxxx全部消す
$ docker rmi $(docker images -q)docker images -q でIDだけ抜き出して docker rmi に渡す形。使用中のイメージが混ざっていた場合、そのイメージだけエラーになって残るが、コマンド自体は途中で止まらず他は消える。
docker image pruneとの使い分け
docker rmi $(docker images -q) はタグ付きも含めて全消し。dangling imageだけ消したいなら docker image prune の方が目的に合っている。
$ docker image prune停止中コンテナごとまとめて掃除したい場合は docker system prune -a という選択肢もある(ボリュームは対象外)。
特定のリポジトリだけ絞る
docker images はリポジトリ名でフィルタできるので、全部ではなく特定のイメージだけ見たいときはこう。
$ docker images "registry.example.com:5000/group-name/container"