Docker Desktopの更新後、WSLエラーが発生する問題の解決方法

Docker Desktopの更新後、WSLエラーが発生する問題の解決方法

Docker Desktopをアップデートした後、WSL2関連の操作で「予期せぬエラー」が発生することがあります。この問題は、WSLディストリビューションが正しく認識されないことが原因であることが多いです。以下に、このエラーの解決手順を説明します。

エラーメッセージの例

発生するエラーメッセージは以下のような内容です。

An unexpected error was encountered while executing a WSL command. Common causes include access rights issues, which occur after waking the computer or not being connected to your domain/active directory.

Please try shutting WSL down (wsl --shutdown) and/or rebooting your computer. If not sufficient, WSL may need to be reinstalled fully. As a last resort, try to uninstall/reinstall Docker Desktop. If the issue persists please collect diagnostics and submit an issue (https://docs.docker.com/desktop/troubleshoot/overview/#diagnose-from-the-terminal).

問題の診断

まず、DockerクライアントとWSLの状態を確認します。

Dockerクライアントのバージョン確認

Dockerが正しくインストールされているか確認します。

docker version
Client:
 Cloud integration: v1.0.35+desktop.10
 Version:           25.0.3
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        4debf41
 Built:             Tue Feb  6 21:13:02 2024
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.27.2 (137060)
 Engine:
  Version:          25.0.3
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       f417435
  Built:            Tue Feb  6 21:14:25 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
docker info
Client:
 Version:    25.0.3
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.1-desktop.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.24.5-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container. (Docker Inc.)
    Version:  0.0.24
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.21
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-feedback.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.0.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.4.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

WSLの状態確認

次に、WSLディストリビューションの状態を確認します。

wsl -l -v --all
  NAME                   STATE           VERSION
* docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

このコマンドは、利用可能なWSLディストリビューションの一覧を表示します。上記の例では、`docker-desktop`と`docker-desktop-data`が停止状態で存在することが確認できます。

wsl --status
デフォルトのディストリビューション: docker-desktop-data
デフォルトのバージョン: 2

WSL 2 カーネルは「wsl --update」で手動で更新できますが、システム設定により自動更新は無効になっています。
自動カーネル更新を受け取るには、Windows の更新設定で「Windows の更新時に他の Microsoft 製品の更新も受け取る」を有効にしてください。
詳細については、https://aka.ms/wsl2kernel をご覧ください。

WSL 2 カーネルファイルが見つかりません。カーネルを更新または復元するには、「wsl --update」を実行してください。

解決策

上記の診断で問題が特定できたら、以下のいずれかの方法で解決を試みます。

1. WSLの自動更新

最も簡単な解決策は、WSLを自動的に更新することです。これにより、WSLカーネルと関連コンポーネントが最新の状態に保たれます。

wsl --update

2. WSLの手動更新

自動更新が機能しない場合や、最新バージョンをインストールしたい場合は、公式リリースページから手動で更新します。

WSLリリースページ: https://github.com/microsoft/WSL/releases

タグ: Docker WSL Windows

6月22日 17:46 投稿