Docker+WSL2の肥大化したHDDイメージを最適化する

docker logo

mどうもCドライブの容量を思った以上に使っているなぁと思って調査してみたら

C:\Users\(ユーザーアカウント名)\AppData\Local\Docker\wsl\data\ext4.vhdx にあるHDDイメージファイルがやたらと容量を食っている様子。

調べてみたら、Dockerが使っているHDDイメージのようで、調べてみた最適化ができるようなので試してみました。

下準備

DockerDesktop上で、不要なイメージを削除してから、DockerDesktopを終了します。
タスクバーのインジゲーターの部分にアイコンがあるはずですので、右クリックしてメニュを出しQuit Docker Desktop を選びましょう

次にコンソールから、以下のコマンドでWSLを終了します

wsl --shutdown

最適化

PowerShellを管理者権限で起動し、以下の順序で実行します。

  1. diskpart
  2. select vdisk file=(vhdxファイルまでのフルパス)ext4.vhdx
  3. attach vdisk readonly
  4. compact vdisk
  5. detach vdisk

Optimize-VHD というコマンドでもできるらしいのですが、私の環境では動きませんでした。

また、こちらを使うと、バーチャルディスクを自動的に探してこれらの作業を自動的に行ってくれるようです。

GitHub - mikemaccana/compact-wsl2-disk: A small script for Windows 10 Home users to compact their WSL2 disks
A small script for Windows 10 Home users to compact their WSL2 disks - mikemaccana/compact-wsl2-disk

 

タイトルとURLをコピーしました