基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop exit code -1的解决方法

Posted 程序员超时空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop exit code -1的解决方法相关的知识,希望对你有一定的参考价值。

在Windows 10 的 2004 版本 中, 启用 使用Docker Desktop 时 发现 根本无法启动, 偶尔或者频繁的出错:

System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: -1?

System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: -1?

stderr:?
? ?在 Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.ApiServicesWSL2WslCommand.cs:行号 146
? ?在 Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.DesktopEnginesWSL2WSL2Provisioning.cs:行号 82
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
? ?在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
? ?在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
? ?在 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__25.MoveNext() 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.DesktopEnginesWSL2LinuxWSL2Engine.cs:行号 99
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
? ?在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
? ?在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
? ?在 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesTaskExtensions.cs:行号 29
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
? ?在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
? ?在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
? ?在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesStartTransition.cs:行号 67
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
? ?在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
? ?在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 位置 C:workspacesPR-15077srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesStartTransition.cs:行号 92

启动 WSL 2时警告“参考的对象类型不支持尝试的操作”

管理员方式执行cmd命令

netsh winsock reset

然后启动 docker-desktop

转载csdn博文:

https://blog.csdn.net/MShow006/article/details/103774672

https://blog.csdn.net/mysticboy/article/details/106632922

以上是关于基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop exit code -1的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 WSL2 在 Docker Desktop 上运行的容器没有实时输出

在 Windows 10 Home 上使用 WSL2 上的 Docker Desktop 时,如何更改 docker 映像的位置?

WSL2 子系统迁移(docker&ubuntu)

wsl2迁移docker的ext4.vhdx

Windows安装WSL2和docker

docker desktop win10挂载问题解决