Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Dockerのエラー”A timeout occured while waiting for a WSL Integration ~”で起動しない場合の解決方法

WSL2環境で、Docker Desktop for Windows 4.19が起動しないバグ/エラーの解決方法

今回は私が以前困ったWindowsのDockerでのバグ/エラーについてのネタです。それはDocker Desktop for Windows(バージョン4.19←大事です)を起動させようとしても、ずっとなんらかの処理中のままきちんと起動が完了しないというものでした。

Dockerのエラーメッセージの内容

“A timeout occured while waiting for a WSL Integration agent to become ready. To work around the issue, please terminate WSL(以下略)

Githubでのトラブル情報

Github: Failed to start the Docker Engine after update to last version 4.19.0 #13445

ここに、次のようなコメントがあります。

Github
© 2023 GitHub, Inc.

Initial analysis shows Docker Desktop failed to start, presumably because it had trouble determining the version of WSL on the host. The com.docker.backend logs show:

[2023-04-30T15:51:58.124644600Z][com.docker.backend.exe][E] getting WSL version: exit status 0xffffffff

[2023-04-30T15:52:13.413624000Z][com.docker.backend.exe]I 75c70201-BackendAPI S->C 7bf9145c-DiagkitPKG GET /events (519.9µs): [1682869784192274000 (from server) docker: starting (LinuxWSL2Engine is starting) 1682869798528229600 (from server) docker: failed to start (LinuxWSL2Engine failed to start: 2 errors occurred:
* starting keep alive in the data distro: waiting for wsl-keepalive to be ready: running wsl-keepalive in “docker-desktop-data”: exit status 0xffffffff
* checking if isocache exists: CreateFile \wsl$\docker-desktop-data\isocache\: No se encuentra el nombre de red especificado.

This WSL version check was added in Docker Desktop 4.19.

Docker Desktop for Windowsのバージョン4.19からWSLのバージョンをチェックする機能が追加されたようですが、そのチェック機能が上手く機能していないことが原因のようです。

まずは実際にコマンドプロンプトかPowershellで、WSLのバージョンを確認してみましょう。2023年5月23日時点でのWSL2では、

C:\Users\○○○○>wsl --version

このように入力してWSL2のバージョンを確認しようとしても、次の結果となります。

コマンド ライン オプションが無効です: --version

これはWSL2がバージョン確認コマンドをまだ実装していないということです。

上で述べたようにDocker Desktop for Windows 4.19からはWSL2のバージョンチェック機能が実装されていて、WSL2のバージョンを確認しようとします。しかし、肝心のそのWSL2自体にはまだバージョンチェックのコマンドが実装されていません。

こうして「ない機能を利用しようとしている」ためエラーが生じ、Dockerが立ち上がらないわけです。

解決方法

Docker Desktop for Windowsをバージョン4.20へバージョンアップしましょう。その4.20には上記のバグの修正が施されています。

以上です。

愛を分かち合いましょう