ギガバイトが実際に隠れている場所
WSL2 上の Docker Desktop は、すべて — イメージ、コンテナー、ボリューム、ビルドキャッシュ — を特殊な WSL ディストリビューションに保持し、それぞれが C: 上に単一の動的 VHDX ファイルとして置かれています。pull のたびにレイヤーが積まれ、ビルドのたびにキャッシュが積まれますが、削除が空けるのは Linux ファイルシステム内部の領域だけ。ホスト側のファイルは最高水準のまま留まります。自前の Ubuntu や Debian ディストリビューションも独自の ext4.vhdx で同じ手品を演じ、しかもこの全部が「太ったフォルダー探し」には現れません。Windows から見れば、それは透けない数個のファイルにすぎないからです。
- docker-desktop-data(旧 Docker)または docker_data.vhdx(新 Docker):%LOCALAPPDATA%\Docker\wsl 配下の主な 30–80 GB の張本人 — イメージ、コンテナー、ボリューム、ビルドキャッシュ
- docker-desktop:Docker エンジン自体を動かす小さめのシステム ディストリビューション
- 独自の WSL2 ディストリビューション:それぞれ %LOCALAPPDATA%\Packages\...\LocalState に 1 個の ext4.vhdx
- ビルドキャッシュ:docker builder は最終イメージを削除した後も中間レイヤーを保持する
- ぶら下がりイメージと停止コンテナー:中断されたビルドや pull から残った孤児レイヤー
- 匿名ボリューム:compose ファイルがビルドごとに黙って作成し、docker image prune にも生き残る
まず中を掃除 — 汚れたディスクの縮小は無駄骨
死んだイメージでいっぱいの VHDX を圧縮しても、すぐに育ち直す小さいファイルができるだけなので、作業順序がものを言います。まず内部からです。docker system df はイメージ、コンテナー、ボリューム、キャッシュが実際にどれだけ占めているかを示し、その数字にはたいてい驚かされます。docker system prune -a は未使用イメージと停止コンテナーを削除し、--volumes は孤立ボリュームを追加します — 本当に必要なデータベースのデータを消していないか確認を。次に docker builder prune が、繰り返しリビルドが膨らませたがるビルドキャッシュを掃除します。docker system df が受け入れられる数字を示して初めて、ホスト側のファイルに触る意味が生まれます。
それからディスクを縮める:サポートされた 3 つの方法
まず wsl --shutdown を実行します。さもないとファイルは稼働中のコンテナーとディストリビューションにロックされたままです。最近の WSL ビルドでは、wsl --manage <ディストリビューション> --set-sparse true が VHDX をスパースとマークし、Windows が空きブロックを回収できるようにします。古い環境での確実な道はエクスポートとインポートです — wsl --export で .tar へ、wsl --unregister、wsl --import で新しいフォルダーへ — ファイルは実データ サイズで再構築されます。Docker Desktop は Settings > Resources > Advanced でディスク イメージ全体を別ドライブへ移動でき、データは自動で移行されます — C: が仕事に対して単純に小さすぎる場合の正直な解決です。ついでに成長にも蓋をしましょう。同じ設定ページにディスク サイズ上限があり、毎月 docker system df を見る習慣が上限内に留めてくれます。
よくある質問
Docker Desktop はなぜこれほどディスクを占有しますか?
Docker はすべてのイメージ、レイヤー、ボリューム、ビルドキャッシュを、要求に応じて育ち自分では縮まない動的 VHDX に保持します。docker system df で内訳を見て、不要なものを prune し、それからディスクを圧縮またはエクスポート/インポートします。
WSL2 の Docker VHDX ファイルはどう縮小しますか?
まず wsl --shutdown を実行し、wsl --manage <ディストリビューション> --set-sparse true でディスクをスパースにするか、ディストリビューションを .tar にエクスポートして登録解除し、再インポートします — 新しい VHDX は実データ サイズに一致します。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]