LoginSignup
3
1

Dockerのbuildキャッシュが気づいたらすごく増えていたので削除したい

Last updated at Posted at 2024-01-28

dockerのbuildキャッシュが気づいたらすごく増えていたので削除したい

以下と状況が大変よく似ている

https://qiita.com/hyt-sasaki/items/e2cbc4cfb5ae698de498
Dockerfileのbuildをしているとno space leftなるエラーが発生してしまいました。
docker system dfでDockerが使っているストレージ容量を確認したところBuild cacheがやたらに大きいことが判明。

具体的には、ルートボリュームのdisk容量が以下のようにほぼ100%であるが、${HOME}以下はあまり容量が支配的ではなく不思議な状況であった。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/nvme0n1p2  916G  870G     0 100% /
...
$ du -sh
49G	.

docker system dfで確認するとキャッシュ等がすごく多くのサイズを占めていた

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          120       2         293.2GB   285.5GB (97%)
Containers      2         0         445.9kB   445.9kB (100%)
Local Volumes   0         0         0B        0B
Build Cache     6139      0         548.2GB   548.2GB

docker builder pruneで削除する

$ docker builder prune
WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y
ID						RECLAIMABLE	SIZE		LAST ACCESSED
w8pqyrkq9f2a8i5txveyulhdr               	true 		81.74MB   	3 weeks ago
...
(3min)
...
sxn69jdkuh7al87bvt0cgndxu               	true 	0B        	3 weeks ago
Total:	548.2GB

少し減った、これで回避できるはず

Filesystem      Size  Used Avail Use% Mounted on
...
/dev/nvme0n1p2  916G  350G  520G  41% /
...

(追記)どうやってもBuild Cacheが残ることがあった、、

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         0         7.834GB   7.834GB (100%)
Containers      0         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     5732      0         741.2GB   741.2GB

どうも埒が明かなかったので、systemctl restart dockerでdocker再起動してdocker system prune実行

$ sudo systemctl restart docker
$ docker system prune
...
Total reclaimed space: 770.2GB

無事に解決した様子

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         0         7.834GB   7.834GB (100%)
Containers      0         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     10        0         0B        0B

docker system pruneではなく以下でも良いかもしれない

docker image prune -f
docker builder prune -f

(参考)今回、1回あたりのdockerビルドでこれくらいBuild Cacheが増えていた

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          13        0         29.21GB   29.21GB (100%)
Containers      0         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     147       35        2.808GB   0B

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1