[Windows] Docker Desktop の ディスク領域 を Cドライブから別のドライブへ移動する方法

Docker

WSL2が使えるようになったので、Windows でも Docker を使ってみることにしました。Docker Desktop をインストールすると、無条件で Cドライブ上に仮想環境が作られます。が、Cドライブの空き容量が少なくなったので、Docker環境をDドライブに移動したという話。

試した環境

Windows10 Pro 2004 OSビルド 19041.329
Docker Desktop community 2.3.0.3
WSL2(Windows Subsystem for Linux)

Docker Desktop の設定では WSL2 Integration を有効にしています。WSLのディストリビューションは Ubuntu 20.04 を使っているので、それとのインテグレーションも有効にしてあります。

方法

Docker Desktop が使っている WSL 上のディストリビューション docker-desktop-data が Cドライブ上にありディスクを消費しているので、一度エクスポートしてから、Dドライブにインポートするという方法をとります。

> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)
docker-desktop-data  ←←←← これを移動します。
docker-desktop

実際のディスクイメージは、%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx にあります。

手順

Docker Desktop を止めます。

コマンドプロンプトからWSLのディストリビューションを止めます。

> wsl --shutdown
> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Stopped         2
  docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

docker-desktop-data を tar ファイルにエクスポートします。少し時間がかかります。
wsl –export <ディストリビューション> <ファイル名>

> wsl --export docker-desktop-data  D:\Docker\docker-desktop-data.tar

ext4.vhdx は 50GB を超えていましたが、エクスポートした docker-desktop-data.tar は 11GBでした。

ディストリビューションの登録を解除します。

> wsl --unregister docker-desktop-data

エクスポートしておいた tar ファイルをインポートします。コマンドの引数でインストール場所を指定しますが、ここを Dドライブなどの容量に余裕のある場所にします。
オプションには WSLのバージョンを指定しますが、デフォルトが WSL2 であれば指定する必要はありません。
wsl –import <ディストリビューション> <インストール場所> <ファイル名> [オプション]

> wsl --import docker-desktop-data D:\docker-desktop\data D:\Docker\docker-desktop-data.tar

手順は以上です。

わし
わし

とくに難しいところはありまへん。

Yahboom Raspberry Pi 5 アクリルケース 公式 Raspberry Pi 5 アクティブクーラーと互換性があり、Raspberry Pi 5 4GB/8GB に適しており、開発ボードを保護する Raspberry Pi 5 アクリルケース
この 5 層アクリル ケースは Raspberry Pi 5 用に特別に作られており、Raspberry Pi ボード上のすべてのコンポーネントを効果的に保護します。 透明な素材は見た目の美しさを高めるだけでなく、Wi-Fi と Bluet...
ゲーム&ウオッチ スーパーマリオブラザーズ (【Amazon.co.jp限定】ゲーム&ウオッチ オリジナルピンズ 同梱)
ゲーム&ウオッチ スーパーマリオブラザーズ (【Amazon.co.jp限定】ゲーム&ウオッチ オリジナルピンズ 同梱)
UGREEN M.2 SSD 外付けケース-M.2 NVME/PCIE SSD ケース USB C 3.2 Gen 2接続 UASP対応 10Gbps高速転送速度 アルミ制 8TB容量対応 M.2 NVMe to USB 変更 2230 2242 2260 2280(M-Key M&B Key) SSD対応 ssd 外付けケース 【NVME/PCIE専用】
このM.2 SSD 外付けケースはUSB 3.0接続又はUASPも対応しており、10Gbpsの転送規格で快適にデータを転送できます。堅牢性に優れたABSとアルミ合金を採用したボディデザインにより、耐久性が期待できるM.2 SSD 外付けケー...
Geekworm USB-C 電源アダプター PD 27W Type C、Raspberry Pi 5に適用
Geekworm Raspberry Pi 5 電源、 USB C (Type C) PD27W 電源アダプター ;
uxcell ソケットキャップヘッド M2.5 x 20mm メトリック 12.9合金鋼製 六角ネジボルト ブラック 10個
説明: 特徴:M2.5 x 20mm六角穴付きボルト、12 . 9合金鋼材。 固定部品、産業と建設のファスナー。 家の中、オフィスや工場の機器、通信機器、船の組立と他の機械工業で広く使われている。
Geekworm X1002 V1.1 PCIe NVMe M.2 SSD 2280拡張ボード、Raspberry Pi 5に適用
梱包内容: 1*X1002 NVMe M.2 SSD拡張ボード
プリンストン 内蔵 SSD 1TB PCIe Gen 3.0 x4 NVMe 連続読み取り最大2350MB/秒 M.2 2280 3D NAND メーカー保証期間3年 EPHD-ISM2-1T
■容量(※1):1TB ■フォームファクター:M.2 2280 ■インターフェイス:PCIe 3.0x4 NVMe ■コントローラー:Phison PS5013-E13T ■NANDフラッシュ:3D NAND ■連続読み取り/書き込み(最大...
Geekworm Raspberry Pi 5 ケース、アーマーアルミ金属ケース、冷却ファンが付き、ラズベリーパイ5に適用
Geekworm Raspberry Pi 5 ケース、アーマーアルミ金属ケース、冷却ファンが付き、ラズベリーパイ5に適用
Amazon.co.jp: ゲームウォッチ: ゲーム
ゲーム の優れたセレクションでオンラインショッピング。

コメント

  1. meng_na より:

    手順のご提示、誠にありがとうございます。
    手順通りで実施した後、「docker desktop for windows」が起動できなくなる問題が発生してました。
    別のサイトで調べたら、最後のimportのコマンドの後ろには「–version 2」を付ける必要らしいです。しないと、wslのバージョンが正しくありません。

    誤)wsl –import docker-desktop-data D:\docker-desktop\data D:\Docker\docker-desktop-data.tar
    正)wsl –import docker-desktop-data D:\docker-desktop\data D:\Docker\docker-desktop-data.tar –version 2

    一応ご連携いたします。

    • nosubject.io より:

      こんにちは、こんばんは。
      ご指摘ありがとうございます。当記事ではWSLのデフォルトがVersion2になっていることを前提に書いておりました。
      ご指摘の通り、利用している環境によっては、オプションの指定が必要になります。

      WSLからWSL2 へアップグレードされた環境で、今後はWSL2をメインに利用していくのでしたら、以下を実行しておくのもありかと思います。
      > wsl –set-default-version 2