Docker Desktop が Windows で起動しない問題の解決
問題の概要
Windows 上で Docker Desktop を起動すると、「Docker Desktop Starting...」というメッセージが表示されたまま永遠に起動が完了しない問題が発生します。この問題は Docker Desktop バージョン 4.4.4 以降で報告されており、様々な要因が考えられます。
主な原因
この問題の根本原因は、以下のいずれかまたは複数の要因が関係している可能性があります:
- WSL2 カーネルの問題: WSL2 カーネルが正しくインストールされていない、または古いバージョンである
- サービス競合: LxssManager サービスや Trusted Installer プロセスの不具合
- 仮想化設定: Hyper-V または Windows Hypervisor Platform が無効になっている
- システムリソース: 一時ファイルの蓄積やメモリ不足
解決方法
方法 1: WSL の更新(最も効果的)
管理者権限でコマンドプロンプトまたは PowerShell を開き、以下のコマンドを実行します:
wsl --update
このコマンドは WSL カーネルを最新バージョンに更新し、Docker Desktop との互換性問題を解決します。
TIP
Docker Desktop v4.22 以降では、WSL2 カーネルが古い場合に警告メッセージが表示されるようになりました。このメッセージが表示された場合は、必ず上記のコマンドを実行してください。
方法 2: WSL ディストリビューションの再登録
WSL 関連の問題が深刻な場合は、Docker の仮想環境を完全に再構築します:
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
実行後、Docker Desktop を再起動してください。データは失われますが、多くの場合問題が解決します。
方法 3: LxssManager サービスの再起動
WSL の管理サービスである LxssManager に問題がある場合は、以下の手順で修正します:
- 管理者権限でコマンドプロンプトを開く
- サービスの状態を確認:cmd
sc queryex LxssManager
- プロセスIDを確認し、プロセスを強制終了:cmd
wmic process where ProcessID=XXXXX delete
- サービスを再起動:cmd
net start LxssManager
方法 4: Trusted Installer の問題解決
Windows 11 で Trusted Installer Worker (TiWorker.exe) が原因で問題が発生する場合:
- タスクマネージャーを開く
- 「プロセス」タブで
TiWorker.exe
を探して終了 - 「サービス」タブで "TrustedInstaller" サービスを再起動
方法 5: システム要件の確認
Docker Desktop が正常に動作するための前提条件を確認してください:
- 仮想化の有効化: BIOS/UEFI 設定で SVM (Support Vector Machine) または仮想化技術を有効化
- Windows 機能の有効化:
- Windows Subsystem for Linux
- Hyper-V
- Windows Hypervisor Platform
- WSL2 のデフォルト設定:powershell
wsl --set-default-version 2
方法 6: クリーンインストール
上記の方法で解決しない場合、完全なクリーンインストールを実行します:
- Docker Desktop をアンインストール
- 以下のフォルダを削除:
C:\Windows\Temp
C:\Users\{ユーザー名}\AppData\Local\Temp
C:\Windows\Prefetch
- コンピューターを再起動
- Ubuntu WSL を Microsoft Store からインストール
- Docker Desktop を再インストール
予防策
- 定期的に
wsl --update
を実行して WSL カーネルを最新状態に保つ - Docker Desktop を起動する前に、他の開発ツール(Visual Studio Code など)の起動を待つ
- システムの再起動を定期的に行い、リソースを解放する
まとめ
Docker Desktop の起動問題は、主に WSL2 環境との連携に起因することがほとんどです。まずは wsl --update
コマンドの実行から試し、必要に応じてより深いトラブルシューティングを行ってください。大半のケースでは、WSL 環境の適切なメンテナンスによって問題は解決します。
WARNING
データのバックアップが必要な場合は、WSL ディストリビューションの登録解除を行う前に、重要なコンテナやイメージをエクスポートしてください。
これらの解決策を試しても問題が解決しない場合は、Docker の公式フォーラムや GitHub イシューで最新の情報を確認することをお勧めします。