🐡

[AI Challenge 2025] WSL2でDockerを起動させまくっていたらボリュームを圧迫していた

に公開

Ubuntuのサイズが800GBを超えていた

自動運転AIチャレンジでDockerでビルドする場面が多いと思いますがが、何も考えずに自動化を図ってDocker Buildを繰り返していたら、いつの間にかUbuntuのボリュームサイズが爆増してCドライブを潰しにかかっていたので。

スクショを取る余裕がないくらい容量圧迫してしまったので、解決策のみ簡単に記載。同じことで悲しい思いをする前に......

解決策

1. docker system prune

docker system df というコマンドを打つと、現在Dockerの使用状況が分かる。自動化図っているとおそらく Build Cache というのがたまっていくのではないだろうか。

docker system prune で、現在使用していないイメージやボリューム、キャッシュを削除してくれる。

2. optimize-vhd

Windowsの機能の有効化または無効化で Hyper-V を有効化し、再起動する。
そうすると、PowerShellで optimize-vhd というコマンドを入力できるようになる。管理者権限で実行する必要あり。
Get-AppxPackage -Name "*Ubuntu*" コマンドで、.vhdx という拡張子のファイルを探す。
次のコマンドで、最適化を図る。

wsl --shutdown
optimize-vhd -Path C:\Users\{user}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\ext4.vhdx -Mode full

どれくらいボリュームが膨らんでしまったかに依存すると思うが、私のように800GBくらい膨らんだもので10-20分くらいかかっていた。

参考記事

以下の記事に助けられました。ありがとうございました。

https://qiita.com/shinsaka/items/df588d9824a2c5964ef5

Discussion