Open3

Docker Desktop のデータストア

rhenerhene

Docker Desktopのデータ保存先

# cmd
%LocalAppData%/Docker/wsl/data/ext4.vhdx
%LocalAppData%/Docker/wsl/distro/ext4.vhdx
# PowerShell
$env:LOCALAPPDATA/Docker/wsl/data/ext4.vhdx
$env:LOCALAPPDATA/Docker/wsl/distro/ext4.vhdx
rhenerhene

保存先の移動

Docker用のWSLをエクスポート>インポートを行う
インポート時に保存先を指定する
イメージデータが保存されているのは docker-desktop-data なので、これだけ移動しても良い

# Docker用WSLのエクスポート
wsl --export docker-desktop "D:/export/docker-desktop.tar"
wsl --export docker-desktop-data "D:/export/docker-desktop-data.tar"

# Docker用WSLの登録解除
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

# Docker用WSLのインポート
wsl --import docker-desktop "D:/Docker/wsl/distro" "D:/export/docker-desktop.tar" --version 2
wsl --import docker-desktop-data "D:/Docker/wsl/data" "D:/export/docker-desktop-data.tar" --version 2
rhenerhene

空き容量の確保

# Dockerのキャッシュなどを削除
docker system prune

# WSLのシャットダウン
wsl --shutdown

# vhdxの圧縮
Optimize-VHD -Path "D:/Docker/wsl/data/ext4.vhdx" -Mode full

その2

wsl --shutdown
diskpart

# 以降、DiskPart
select vdisk file="D:/Docker/wsl/data/ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit