Dockerでビルドした際に作られるBuild Cacheを削除する

コンテンツ

結論

以下のコマンドでBuild Cacheを削除できます。

$ docker builder prune

解説

Dockerfileの変更が反映されないことがあった

Dockerイメージを試行しながら再作成をしているときに、Dockerfileに変更を加えたはずなのに出力されたDockerイメージが変わらないことがありました。
使わないイメージが溜まっていくのが嫌なのでdocker rmi <IMAGE_ID>で都度イメージは削除しているので、再ビルドされるはずなのに何故だろうと思っていたところ、キャッシュの存在を疑いました。

Dockerの容量利用状況を確認

現在のDockerの容量利用状況を確認するには以下のコマンドを実行します。

$ docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         3         1.298GB   0B (0%)
Containers      6         6         14.09MB   0B (0%)
Local Volumes   2         2         67.89MB   0B (0%)
Build Cache     15        0         43.82kB   43.82kB

Build Cacheを削除

ここで、TYPEのBuild Cacheである程度キャッシュが残っていることが分かります。
このBuild Cacheは、以下のコマンドで削除できます。

$ docker builder prune

WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y
Deleted build cache objects:
r8wz4tg79knvxpkh2jqb0b63j
a73wbutdtzm19hceo3xfng80i
pmteycowjyiqf6xwiybqkjlx0
Total reclaimed space: 43.82kB

この後、再度Dockerイメージを作成したところ、変更が反映される結果となり、事象が解決しました。
もし、Dockerfileの変更が反映されないことがあれば、キャッシュを削除すると解消できそうです。
または、docker-compose up --buildでそもそもビルドを明示すれば恐らく問題ないでしょう。

追記

そもそも以下のコマンドでキャッシュを使わずビルドする手がありました。

docker-compose build --no-cache

参考

カテゴリ

アーカイブ