リモート開発メインのソフトウェア開発企業のエンジニアブログです

Dockerを再インストールしたら「ext4.vhdx」が1/10になった件

概要

入社してから仕事用のPCを2年間使用しています。最近、Windows 11のストレージ容量が逼迫し、500GB中の残りがわずか89GBになってしまいました。原因を調査したところ、Dockerが生成する「ext4.vhdx」ファイルが大量のディスク容量を消費していることが判明。Dockerの不要なリソースを削除するコマンドを試しても改善しなかったため、最終的にDockerを再インストールすることで問題を解決しました。

追記、Dockerを再インストールせずとも「物理サイズの縮小」をコマンド実行でする解決方法がありました。最後に手順を説明します。

自身のPC環境

  • OS:Windows 11 Home (標準でHyper-Vは無し)
  • 仮想化:WSL2
  • Docker Desktop(Windowsにインストール)

問題の発端

  • Dockerが生成する「ext4.vhdx」ファイルがディスク容量を圧迫していた。
  • Docker上の不要なリソースを削除するコマンドを実行しても、ディスク容量は改善しなかった。

試した解決策とその結果

リソースを削除するコマンド

未使用の全てのイメージを削除

docker image prune -a

キャッシュ掃除

docker system prune

コマンドのスクリーンショット

これらのコマンドを実行しましたが、ディスク容量に大きな変化はありませんでした。

最終的な解決策

Dockerのアンインストールと再インストール

  • Dockerを一度アンインストールし、再インストールすることで、「ext4.vhdx」のサイズが劇的に減少!!

再インストール後の変化

→「ext4.vhdx」のサイズが219GBから23GBに減少。

→ SSDの残量が89GBから328GBに増加。

具体的な手順

  • Dockerのアンインストール

参考:コンピューターから Docker をアンインストールする方法

  • Dockerの再インストール

参考: Windows11 に WSL2 (Ubuntu)と Docker Desktop をサクッとインストールする方法

物理サイズの縮小方法(追記)

「ext4.vhdx」は自動で物理サイズが減少しません。

仮想サイズを実際に使用されている領域に縮小させる手順は以下の通りです。

Windows PowerShell を管理者で開く
ディストリビューションのバージョンまで指定します

wsl -t Ubuntu-20.04

動いている場合は、プロセス終了

wsl --shutdown

パーティション管理コマンドで「diskpart」に内に入る

diskpart

diskpart内で、select vdiskで仮想ディスクで file=”パス名…ext4.vhdx”パス名を指定

select vdisk file = ファイルのパス

仮想ディスクのサイズ縮小

compact vdisk

コマンドのスクリーンショット

感想

今回の経験を通じて、PCの大掃除の重要性を再認識しました。

重要なデータ(SSH情報やDB情報など)をバックアップしてから大掃除しましょう!

システムのメンテナンスは定期的に行い、快適なPC環境を維持しましょう。

Tags

← 前の投稿

CloudWatch Logs + Spark SQL で Rails ActiveJob の実行時間を集計してみた

次の投稿 →

Rails プロジェクトの webpack を Vite に移行した

コメントを残す