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コンテナ向け
)
必須手順
- フォルダ事前作成:
D:\Docker\App
、D:\Docker\wsl
など使用するパスを事前に作成 - ダブルバックスラッシュ:
--windows-containers-default-data-root
ではD:\\Docker
のような表記は不要 - インストーラ名の空白対応:ファイル名に空白が含まれる場合、シングルクォートではなくダブルクォートで囲む
重要ポイント
- 管理者権限のターミナル(PowerShellまたはCMD)を必ず使用
D:\
は対象ドライブに置き換えて実行(例:E:\Programs\Docker
)--wsl-default-data-root
を省略するとAppData\Local\Docker
にデータが保存される
方法2: 設定画面からの変更(Docker Desktop 4.34.3以降)
既にインストール済みの場合、GUIを通じた設定変更が可能:
- Docker Desktopを開く
- 設定(Settings) > リソース > ディスクイメージの場所
- 参照ボタンで新しいデータ保存先を選択
- 「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)
ベストプラクティスまとめ
- 最新インストーラ使用:公式サイトから常に最新版を取得
--installation-dir
とデータ保存オプションを同時設定する- パスの階層を明確に分離:本体インストール先とデータ領域は別ディレクトリが望ましい
- ドライブ変更後に発生する可能性があるWSLエラーには事前に備える
- Windowsコンテナを使用する場合は必ず
--windows-containers-default-data-root
を設定
アンインストールが必要なケース
以下の状況では現状のDocker Desktopをアンインストール:
- Cドライブの空き容量が深刻に不足している場合
- 既存インストールの設定変更で問題が多発する場合
- Docker Engineが全く起動できない場合 → アンインストール後、カスタムインストールコマンドを実行
これらの手順により、システムドライブの容量圧迫を回避しつつ、Dockerの全機能を安定して利用できます。特に複数プロジェクトで大規模コンテナを利用する場合、HDD/SSDの分離運用でパフォーマンス管理が容易になります。