コンテンツ
結論
以下のコマンドで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