初めに
最近wsl内のdocker compose
の実行が遅くストレスを感じることが多く、体感2秒ほど待つ時間があったためどうにかしたいと思いいろいろ調べて最適化の手段を試してみた備忘録になります。
※ 今回の手順ではHyper-Vの機能を使用しております。
最適化前にやったこと
- 不要なdocker imageの削除
- docker build cacheの削除
- docker volumeに関しては削除は実行してません
仮想ディスクファイルを最適化(圧縮)
Optimize-VHD
コマンドを実行し、仮想ディスクファイルを最適化を図ります
以下Optimize-VHD
コマンドの要約です。
Optimize-VHD
は、動的にサイズが拡張する仮想ハードディスク(VHDXファイル)の無駄なスペースを整理し、ファイルサイズを物理的に小さくして、ホストPC(Windows)のディスク容量を解放するためのPowerShellコマンドです 。
https://learn.microsoft.com/en-us/powershell/module/hyper-v/optimize-vhd?view=windowsserver2025-ps
https://bwgjoseph.com/reclaim-disk-space-used-by-docker-desktop-wsl2
実行した手順になります。
- ext4.vhdxが存在する箇所を確認
自分の環境では次の階層にありました。C:\Users\<UserName>\AppData\Local\Docker\wsl\main\ext4.vhdx
- 管理者でWindows powershellを起動
- WSLを完全シャットダウン
wsl --shutdown
- ext4.vhdxに対し最適化実行
Optimize-VHD -Path "C:Users\<UserName>\AppData\Local\Docker\wsl\main\ext4.vhdx" -Mode Full
これだけです。
ついでに
いろいろ解決策を探してるときにdocker-compose
とdocker compose
の二つが同時に存在してることに気づき、関係は無いかもしれませんがCompose v1の非推奨とサポート終了がされてるため、ついでにdocker-compose
削除しました。
which docker-compose
/usr/bin/docker-compose
sudo rm /usr/bin/docker-compose
結果
docker compose version
を実行してみましたが、残念ながら段違いに変わったということではありませんでした。
しかし若干ですが前よりストレスはありません。(ほかに手段はあるのだろうか...)
どなたかの参考になれれば幸いです。
参考