Docker Desktop无法在启用WSL2的Windows 10中启动

v7pvogib  于 2023-04-05  发布在  Docker
关注(0)|答案(5)|浏览(652)

Docker Desktop没有在启用WSL2的情况下启动,下面是堆栈跟踪?任何帮助都将非常感谢。

System.TimeoutException:
Timed out waiting for the lifecycle-server to start.
This may be the result of a slow environment or there may be a real problem.
This timeout can be increased by editing settings.json, value 'lifecycleTimeoutSeconds'.
This file is usually in C:\Users\(your username)\AppData\Roaming\Docker
   at Docker.ApiServices.LifecycleClient.<WaitForServerUpAsync>d__8.MoveNext() in C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\LifecycleClient.cs:line 84
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__25.MoveNext() in C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\LinuxWSL2Engine.cs:line 148
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() in C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:line 29
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() in C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:line 67
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() in C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:line 92
j8yoct9x

j8yoct9x1#

我也遇到了同样的问题,我按照错误中的说明解决了它。你试过吗?
长话短说,将C:\Users\(your username)\AppData\Roaming\Docker\settings.json中的lifecycleTimeoutSeconds设置从600更改为3600,然后重新启动Docker Desktop。
研究了一下这个问题,以及设置什么是合适的值,这个issue和这个注解特别有帮助。但本质上,结论是错误消息包含了所有内容,除了要放置的实际值(3600)和拥有它的精确文件(setttings.json)。

t30tvxxf

t30tvxxf2#

在我的情况下,帮助在Windows 10专业版中完全禁用漏洞保护

  1. Windows安全性
    1.应用程序和浏览器控制
    1.漏洞利用保护
    如果您要尝试,请检查c:\Windows\System32\vmcompute.exe进程的Program Settings选项卡上的默认设置的覆盖。
baubqpgj

baubqpgj3#

在我的例子中,这是一个非常琐碎的问题:
docker使用我唯一的wsl 2发行版(ubuntu),我也偶尔在终端中使用,所以我安装了oh-my-zsh以方便。一个简单的,未回答的“wanna update oh-my-zsh?”提示阻止了终端,不仅对我,而且对docker也是如此。

6rvt4ljy

6rvt4ljy4#

我也有这个问题。禁用WSL2时也会发生这种情况。设置lifecycleTimeoutSeconds必须存在,如前所述。将其设置为3600意味着超时1小时。似乎Docker Desktop后端进程试图访问某些外部位置,但没有成功,并尝试直到超时发生。等待一个小时似乎很长时间。600的值似乎也可以工作,但我仍然需要等待10分钟。
我预计访问问题是由公司防火墙引起的。我还没有找到解决这个问题的方法。
但是,作为一种变通方法,我做了以下操作:

  • lifecycleTimeoutSeconds设置为10
  • 启动docker desktop(不幸的是,它不会在10秒内启动)
  • 在Windows任务管理器中:终止进程“Docker Desktop Backend”
  • 关闭Docker Desktop窗口
  • 再次启动Docker Desktop:现在几秒钟内就开始了

此变通方法已持续工作了一周。

2hh7jdfx

2hh7jdfx5#

以防万一有人有同样的问题。我已经禁用了自动更新。

  • 首先使用任务管理器关闭docker,然后在powershell上运行wsl --shutdown
  • 然后将lifecycleTimeoutSeconds更改为5秒,以便能够进入界面。
  • 重新进入docker,更新并重启。
  • 最后,将autoDownloadUpdates设置为true,以确保始终更新。

到目前为止,它为我工作。

相关问题