概要
Windows環境でDocker Desktopを起動するとき、以下のエラーが発生して起動できないことがあります。
Docker Desktop cannot start
An unexpected error occurred
Failed to deploy distro docker-desktop to C:\Users\(ユーザー名)\AppData\Local\Docker\wsl\distro::
Some WSL system related access rights are not set correctly.
This sometimes happens after walking the computer or not being connected to your domain/active directory.
Please try to reboot the computer.
If not sufficient, WSL may need to be reinstalled fully.
As a last resort, try to uninstall/reinstall Docker Desktop.
エラーメッセージの一部が文字化けして読み取れませんが、WSLに関係するエラーのようです。
このエラーは、マシンの再起動やDocker Desktopの再インストールを行っても改善しませんでしたが、起動のための対処方法が分かりましたので本記事にてご紹介します。
前提条件
- Windows 10 Pro 21H2 で Docker を利用している
- Docker Desktop 4.10.1 を利用している
- Docker の設定で Use the WSL 2 based engine を有効にしている
原因
53番ポートの競合が原因です。53番ポートを使用しているプロセスを終了することでエラーが解消します。
参考記事:https://forums.docker.com/t/unable-to-open-docker/123771/9
対処方法
- Windowsのスタートメニューで
リソース
と入力してリソースモニター
を起動します。 - リソースモニターが起動したら
ネットワーク
のタブをクリックします。 -
リッスンポート
をクリックして展開します。 -
ポート
の列をクリックしてポート番号の昇順に並べ替えます。 -
53
番ポートを使用しているイメージのPID
を確認します。(画像の例ではPIDは3016
です)
- リソースモニターの
概要
タブをクリックします。 -
PID
の列をクリックしてPIDの昇順に並べ替えます。 - 手順5で確認したPIDのイメージを探します。
- 右クリックしてメニューの
プロセスの終了
をクリックします。 -
svchost.exe (netsvcs -p)
のプロセスの終了の確認ダイアログが表示されるのでプロセスの終了
をクリックします。
- イメージの状態が
終了済み
となります。 - Docker Desktopを起動します。
エラーが解消してDocker Desktopが正常に起動するようになります。