もうずっと前にビルドして以降、もはや使ってない docker images の残骸がローカルにいっぱい残ってたのでメモ。
Docker が今どれだけストレージを使ってるかを確認。
docker system df
6ヶ月以上前にビルドしたイメージを削除するのと、あとはビルドキャッシュも全部削除する。
#!/bin/bash six_mo_ago=$(date -d "6 month ago" +%s) docker images --format "{{.Repository}}:{{.Tag}} {{.CreatedAt}}" | while read image date; do datepart=$(echo $date | awk '{print $1}') image_date=$(date -d "$datepart" +%s) if [ $image_date -lt $six_mo_ago ]; then echo "Removing $image..." docker rmi -f $image fi done docker builder prune -f
6ヶ月以上アップデートしてないイメージもこれで消えちゃうので、そこは注意。
特定の文字列を含むイメージだけに絞りたいなら、 下記みたいに while ループの前に grep すれば良い。
docker images --format "{{.Repository}}:{{.Tag}} {{.CreatedAt}}" | grep -E 'foo|bar|baz' | while read image date; do