Skip to content

Windows Docker Desktopのインストールとデータ保存先変更

問題:SSDの空き容量不足

Docker DesktopをWindowsのCドライブにデフォルトでインストールすると、下記のような容量不足の問題が発生します:

  • コンテナーやイメージを削除してもディスク領域が解放されない
  • キャッシュファイルの蓄積でSSDの空き容量が減少
  • 容量回復には完全なアンインストールが必要になる

インストーラーでは別ドライブを選択できず、手動設定が困難という課題が存在します。

解決方法

方法1: コマンドラインからのカスタムインストール(推奨)

管理者権限で実行する手順で、インストール場所とデータ保存先を同時に設定します:

powershell
# PowerShell (管理者)で実行
Start-Process -Wait -FilePath "Docker Desktop Installer.exe" -ArgumentList @(
    "install",
    "-accept-license",
    "--installation-dir=D:\Docker\App",  # インストール先
    "--wsl-default-data-root=D:\Docker\wsl",  # Linuxコンテナ向けデータ保存先
    "--windows-containers-default-data-root=D:\Docker\"  # Windowsコンテナ向け
)

必須手順

  1. フォルダ事前作成D:\Docker\AppD:\Docker\wslなど使用するパスを事前に作成
  2. ダブルバックスラッシュ--windows-containers-default-data-rootではD:\\Dockerのような表記は不要
  3. インストーラ名の空白対応:ファイル名に空白が含まれる場合、シングルクォートではなくダブルクォートで囲む

重要ポイント

  • 管理者権限のターミナル(PowerShellまたはCMD)を必ず使用
  • D:\は対象ドライブに置き換えて実行(例:E:\Programs\Docker
  • --wsl-default-data-rootを省略するとAppData\Local\Dockerにデータが保存される

方法2: 設定画面からの変更(Docker Desktop 4.34.3以降)

既にインストール済みの場合、GUIを通じた設定変更が可能:

  1. Docker Desktopを開く
  2. 設定(Settings) > リソース > ディスクイメージの場所
  3. 参照ボタンで新しいデータ保存先を選択
  4. 「Apply & restart」をクリック

この方法の利点と制約

  • メリット:再インストール不要・操作が簡易
  • デメリット
    • Windowsコンテナのデータ場所は変更不可
    • 古いデータは手動で移動する必要あり
    • 一部バージョンで制限あり

よくあるエラーと対処法

例1:WSL統合エラー

log
WSL integration with distro 'Ubuntu' unexpectedly stopped.
Get "http://ipc/check?distro=Ubuntu": context deadline exceeded

対処手順

cmd
:: 管理者コマンドプロンプトで実行
wsl --shutdown
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

警告:--unregisterは関連データを削除します。必要なデータはバックアップしてください。

例2:引数エラー(PowerShell)

log
Start-Process: Cannot bind argument to parameter 'ArgumentList'

対処法:引数リストの形式を確認し、下記いずれかの形式で実行

powershell
# 方法1: 配列形式で明示的に指定
-ArgumentList "install", "-accept-license", "--installation-dir=D:\\Path"

# 方法2: 1つの文字列として連結
-ArgumentList "install -accept-license --installation-dir=D:\\Path"

データ構造の基本知識

変更後のディレクトリ構造例:

D:\Docker
├── App          # 本体ファイル (--installation-dir)
├── wsl          # Linuxコンテナデータ (--wsl-default-data-root)
└── containers   # Windowsコンテナデータ (--windows-containers-default-data-root)

ベストプラクティスまとめ

  1. 最新インストーラ使用:公式サイトから常に最新版を取得
  2. --installation-dirとデータ保存オプションを同時設定する
  3. パスの階層を明確に分離:本体インストール先とデータ領域は別ディレクトリが望ましい
  4. ドライブ変更後に発生する可能性があるWSLエラーには事前に備える
  5. Windowsコンテナを使用する場合は必ず--windows-containers-default-data-rootを設定

アンインストールが必要なケース

以下の状況では現状のDocker Desktopをアンインストール:

  • Cドライブの空き容量が深刻に不足している場合
  • 既存インストールの設定変更で問題が多発する場合
  • Docker Engineが全く起動できない場合 → アンインストール後、カスタムインストールコマンドを実行

これらの手順により、システムドライブの容量圧迫を回避しつつ、Dockerの全機能を安定して利用できます。特に複数プロジェクトで大規模コンテナを利用する場合、HDD/SSDの分離運用でパフォーマンス管理が容易になります。