① 結論
結論:
Docker Desktopが起動しない原因の多くは、WSL有効化の途中で
Docker用WSLディストリビューション(docker-desktop / docker-desktop-data)が不完全な状態で残る
ことです。
WSL2を既定に設定し、Docker用WSLディストリビューションを再作成することで、
ほとんどのケースは解決します。
特に、Windowsに後からWSLを有効化した環境では、
Docker Desktopの内部初期化が正しく行われず、
アプリの再インストールだけでは直らないケースが多発します。
② 起きている症状
- Docker Desktopを起動しても「Starting…」のまま画面が変わらない
- 起動直後にWSL関連のエラーメッセージが表示される
- Docker Desktopを再起動・再インストールしても改善しない
- WSLを有効化した直後から発生する
③ よくある原因(優先度順)
原因①:WSL2が既定になっていない
【詳細】
WSLは有効でも、既定のバージョンがWSL1のままになっていると、
Docker Desktopは正しい仮想化基盤を利用できず起動に失敗します。
WSLを後から有効化した環境では、WSL1とWSL2が混在した状態になりやすく、
Dockerが誤ったWSL環境を参照してしまうことが原因です。
起きやすい条件:
・WSLをWindows初期セットアップ後に有効化した
・以前WSL1を使っていた環境をそのまま流用している
判断ポイント:
wsl -l -v 実行時に VERSION が 1 と表示される場合、
この原因に該当します。
原因②:Docker用WSLディストリビューションの破損
【詳細】
Docker Desktopは内部的に docker-desktop と
docker-desktop-data というWSLディストリビューションを使用します。
WSL設定変更やDocker Desktopの強制終了、Windows再起動のタイミングによっては、
これらが中途半端な状態で残り、起動に失敗します。
起きやすい条件:
・Docker Desktop起動中にWindowsを再起動した
・WSL設定を変更した直後にDockerを起動した
判断ポイント:
wsl -d docker-desktop 実行時にエラーが出る、または起動できない場合、
この原因が最も濃厚です。
原因③:Windowsの仮想化機能が無効
【詳細】
WSL2はWindowsの仮想化基盤を使用します。
BIOS設定やWindows機能で仮想化が無効になっていると、
WSL2自体が正常に動作せず、Docker Desktopも起動できません。
起きやすい条件:
・BIOS設定を変更したことがある
・企業PCなどで仮想化が制限されている
判断ポイント:
systeminfo を実行し、
「仮想化:有効」と表示されない場合はこの原因に該当します。
④ 切り分け手順(上から順に実行)
手順1:WSLの状態を確認
wsl -l -v
VERSION が 2 で、docker-desktop が表示されているか確認します。
手順2:Docker用WSLが起動できるか確認
wsl -d docker-desktop
ここでエラーが出る場合は、原因②が確定します。
手順3:仮想化機能を確認
systeminfo | find "仮想化"
⑤ 具体的な解決方法
解決策①:WSL2を既定に設定
wsl --set-default-version 2
解決策②:Docker用WSLディストリビューションを再作成
※ Dockerのデータが削除される可能性があります。
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
その後、Docker Desktopを再起動してください。
⑥ 再発防止チェックリスト
- WSL2を既定に設定する(混在防止)
- Docker Desktop起動中の強制終了を避ける
- WSL設定変更後はDockerを再起動する
⑦ それでも解決しない場合の次の一手
- Docker Desktopの「Troubleshoot → Reset to factory defaults」を実行
- 以下のログを確認
-
%APPDATA%\Docker\log - 表示されたエラーメッセージ全文で再検索

コメント