Docker Desktopが起動しない原因と対処法|WSL有効化後にエラーが出る場合

① 結論

結論:
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
  • 表示されたエラーメッセージ全文で再検索

コメント

タイトルとURLをコピーしました