Docker DesktopがFailed to Restartで立ち上がらない時の対処法
Windowsを再起動したらdocker-wsl-cli.iso
が存在しないというエラーでDocker Desktopが立ち上がらなくなったのでその対策を残しておきます。
症状
こんなエラーメッセージが表示されて立ち上がらなくなりました。
WSL distro stopped while waiting for Lifecycle server.
>Stdout:
>Stderr:
2021/03/02 04:35:43 resolving /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso...
Error: mounting wslCLIDest: stat /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso: no such file or directory
2021/03/02 04:35:43 stat /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso: no such file or directory
mounting wslCLIDest
main.doRun
/go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:236
main.run.func1
/go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:91
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).execute
/go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:842
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).ExecuteC
/go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:950
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).Execute
/go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:887
main.main
/go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:33
runtime.main
/usr/local/go/src/runtime/proc.go:225
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1371
ダメだった対策
Windowsの再起動やエラーダイアログに表示されてるReset to factory defaults
をしても治らない。
あとはDockerの手動再起動などもしてみましたが何も変わらず。
原因
どうやらWSL2側でWindowsのドライブがマウントできてないらしくUbuntuを立ち上げて
cd /mnt/c
してみるとディレクトリを見つけられないのが原因だと判明。
なので、コマンドプロンプト(私の環境ではnyagos
ですが)を立ち上げて wsl.exe --shutdown
でWSLを再起動しましょう。
私の環境では以上の方法で治りましたが、まだエラーが続く場合は公式のIssueに質問してみるといいかもしれません。
参考
Docker Startup problems Switching Docker to use WSL2 containers · Issue #6822 · docker/for-win