pyhaya’s diary

機械学習系の記事をメインで書きます

Docker for Windowsがストレージを解放しない問題

Docker for Windowsにおいて、イメージを削除してもディスクの容量が解放されないという問題があるらしい。私の環境でも確認してみたら、Dockerが50 GBほどの容量を使っていることがわかった。コンテナは毎回使うごとに消しているし、volumeやnetworkを docker volumes prune等を使って消してもこんなだったので解決策を探してみた。

結論から言うと、Windows Homeの場合にはDockerのデータを全部消さないと現時点では解決しないみたいである(Windows Proだと圧縮とかできるみたいだが)。
github.com
上のIssueは2019年に出されたみたいだがまだ解決していないようなので結構根深い問題なのかもしれない。

データが全部消えてもDockerfileは残してあるし、必要ならばすぐにビルドしなおせばよさそうだったのでやってみた。

f:id:pyhaya:20220128112523p:plain
Docker Desktop for Windowsの起動画面
Docker Desktop for Windowsを起動して右上のTrouble Shootingを開く(虫のマークのやつ)
f:id:pyhaya:20220128112529p:plain
Trouble Shootingの画面
Clean/Purge Data(赤くなっているやつ)を押す。 f:id:pyhaya:20220128112545p:plain WSLにチェックを入れてDelete。いままでビルドしたイメージが全部消えるのでいくつかビルドしなおしてちゃんとビルドできることを確認してみた後、Dockerのデータの容量を確認してみた。 f:id:pyhaya:20220128112527p:plain わかりにくいが容量が5 GBほどになっており、消す前の1/10の容量になった。
いままでビルドしてきたイメージやボリュームが消えてもすぐ復旧できるという状況の人は試してみると幸せになれるかもしれない。