もうずっと前にビルドして以降、もはや使ってない docker images の残骸がローカルにいっぱい残ってたのでメモ。
Docker が今どれだけストレージを使ってるかを確認。
1 | docker system df |
6ヶ月以上前にビルドしたイメージを削除するのと、あとはビルドキャッシュも全部削除する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/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 すれば良い。
1 | docker images -- format "{{.Repository}}:{{.Tag}} {{.CreatedAt}}" | grep -E 'foo|bar|baz' | while read image date ; do |