dockerで使ったディスク容量を解放する方法

https://qiita.com/msy-s/items/282a2212b93380511437
Docker……というかWSLは仮想ディスクを使用しており、仮想ディスクは一度確保した容量は自動的には解放しない。
そのため例えば10GBのイメージを作成すると、たとえその後に10GBのイメージを削除しても仮想ディスクファイルの容量は増えたままであり、ホストマシンのHDD容量を食い続ける。
これを解放するには diskpart コマンドを使って明示的に仮想ディスクの未使用領域を解放する必要がある。
(Optimize-VHD というPowershellコマンドでもできるらしいが、このコマンドは Windows 10 Pro 以上でないと付属していない)
以下コマンドのxxxxをユーザ名に変えたものを実行することで解放できる。
どうも仮想ディスクの置き場所はdockerバージョンが上がると変わることがあるようなので先にvhdxファイルの場所をファイルエクスプローラーで探したほうがよいかも。

docker container prune
docker volume prune
docker image prune -a
docker builder prune
docker system prune

wsl --shutdown

diskpart

<< 以下はdiskpart内コマンド >>

select vdisk file="C:\Users\xxxx\AppData\Local\Docker\wsl\disk\docker_data.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit