WSL2に載せたDockerが、仮想ディスクを自動で解放してくれないので、手動で最適化する
定期的に最適化するので、自分用にまとめておきます。
Dockerに限らず、Linuxディストリビューション等の最適化も可能ですが、まとめて最適化したいときは、WSL2 Compacterというスクリプトを利用したほうが良いでしょう。
Windows 10 Pro
PowerShell
# WSLを停止
wsl --shutdown
# 仮想ディスクイメージファイルが存在するディレクトリに移動
cd C:\Users\admin\AppData\Local\Docker\wsl\data
# 最適化
Optimize-VHD -Path .\ext4.vhdx
Windows 10 Home
PowerShell
# WSLを停止
wsl --shutdown
# diskpartを起動
diskpart
# 仮想ディスクイメージファイルを指定
DISKPART> Select vdisk file="C:\Users\admin\AppData\Local\Docker\wsl\data\ext4.vhdx"
# 読み取り限定でアタッチしないと最適化できない
DISKPART> attach vdisk readonly
# 最適化
DISKPART> compact vdisk
# 終了
DISKPART> detach vdisk
DISKPART> exit