docker pull
を何回も叩いていると、ローカルのイメージが<none>
になってしまうことがあります。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
node latest 6d123ea65021 2 weeks ago 706.5 MB
centos latest 2b8d6139a545 2 weeks ago 212.1 MB
postgres latest dcce0da1c311 2 weeks ago 213.9 MB
mysql latest 97454fa6c9d3 2 weeks ago 282.8 MB
<none> <none> 9552b2f0723b 2 weeks ago 255.7 MB
debian latest 1265e16d0c28 2 weeks ago 84.98 MB
<none>
になる条件は、新しいイメージが既存のタグを再利用したときにそうなるようです。
古い方のイメージがタグを剥奪されるみたいな感じ。
<none>
イメージを一括削除する
-f(フィルタ)オプションを使うと イメージを抽出することができます。
docker images -f "dangling=true"
この出力を使ってイメージ一括削除すればOKです。
docker rmi $(docker images -f "dangling=true" -q)
追記
v1.25以降は、下記のようにもっと簡単にできます。
https://docs.docker.com/engine/reference/commandline/image_prune/
docker image prune