MacOS 上の Docker が ~/Library/Containers/com.docker.docker/Data/vms 以下の100GB 以上のファイルを見失っていた2022年12月09日 12時57分01秒

MacOS 上ではホームディレクトリ以下に Library/Containers がある。What's the purpose of ~/Library/Containers? に詳しく説明されているが、サンドボックス環境を作るときに使われる。仮想環境を提供している Docker もここを使っている。

Docker はここ二年ぐらいは本格的に使っている。長いこと使っていたが、ちょくちょくディスク容量で困っていた。VMWare や Parallels 等で、沢山の仮想環境があったり、スナップショットを沢山作ったりしていたので、それらの数を段々と減らしていた。

今日、Docker のバージョンを更新した。。更新後に、昨日ダウンロードをした数ギガ以上のファイルのダウンロードが始まった。Docker を更新した時に、昨日新しくダウンロードした 10GB 以上に及ぶファイルは削除されていない。再度ファイルがダウンロードされ残り領域が 1G を切った。流石に様子がおかしい。

今回は流石に消すファイルが無くなっていた。VMWare は使えなくなっていたので、既に仮想ファイルは全てディスクから退避。Parallels を使うようになって、こちらもスナップショットを全て消しても、ディスクの空きが 1G 以上作れない。du 等を利用して、~/Library/Containers が異常に大きいのが見付かった。Docker が怪しいので docker を含みつつ利用量が多いディレクトリ探した結果。

docker system prune 等で、再度 Docker 側から削除を再度試みたが、消える様子が無い。再度確認しても大量のファイルが残っている。

Library/Containers $ du -s com.docker.docker/Data/* | sort -nr | head
238214456	com.docker.docker/Data/vms
313400	com.docker.docker/Data/default.profraw
307384	com.docker.docker/Data/log
5800	com.docker.docker/Data/database
56	com.docker.docker/Data/tasks
8	com.docker.docker/Data/locked-directories
0	com.docker.docker/Data/vpnkit.port.sock
0	com.docker.docker/Data/vpnkit.pcap.sock

ここで Docker を停止。そして、rm -rf Data/vms/*。Docker を起動しても問題なく、動作。これで 110GB 以上の空き領域が確保できた。