安装Docker Desktop for Windows 10出现错误

18
Failed to start service: The service did not respond to the start or control request in a timely fashion
   at CommunityInstaller.Service.Service.<StartAsync>d__4.MoveNext()
--- 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 CommunityInstaller.Service.Manager.<AddServiceAsync>d__7.MoveNext()

我在安装过程中遇到了这个错误 - 之前的安装挂起后,后续安装都不能成功完成。有什么办法可以修复或清理并重新启动吗?

--- 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 CommunityInstaller.ServiceAction.<DoAsync>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at CommunityInstaller.InstallWorkflow.<HandleD4WPackageAsync>d__29.MoveNext()
--- 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 CommunityInstaller.InstallWorkflow.<ProcessAsync>d__24.MoveNext()

1
欢迎来到 Stack Overflow!不幸的是,仅凭错误堆栈跟踪,这里确实没有足够的信息。此外,这并不是一个编程问题;它更像是一个软件安装问题 - 或许可以联系 Docker 获取支持? - David Makogon
好的 - 我会问问 Docker。 - Roy
我通过重置 WMI 解决了类似的问题。https://stackoverflow.com/questions/68239121/unble-to-install-docker-desktop-on-windows-10-pro-21h1/70382173#70382173 - Thalles Noce
14个回答

22

禁用电源服务也对我有用。

  1. 在Windows菜单栏中打开msconfig.exe
  2. 转到“服务”选项卡
  3. 开始键入“power”,它会自动找到正确的服务。
  4. 取消选中复选框
  5. 重新启动计算机
  6. 确保您的驱动器中没有任何Docker安装文件
  7. 再次启动安装过程,希望这对您有用

对我没有效果。在我的情况下,错误是这样的 - 下载失败:无法找到路径的一部分'C:\Users\username\AppData\Local\Temp\u2gf2kdqqcm'。 在CommunityInstaller.InstallWorkflow.<DoProcessAsync>d__23.MoveNext()。 - john
1
无论这是否成功,请确保在 Docker 安装尝试后重新启用“电源”服务。(“电源”服务处理的是您 PC 的电源计划,因此它需要正常运行。) - Marty McGee
完美。适用于版本4.11.1之前。 - rios0rios0
@约翰,你有什么进展吗?这对我也没有用。 - BND

4
我遇到了相同的问题,似乎是在最新的 Windows 更新之后开始出现的。
我通过停止和禁用“电源”(电源管理)窗口服务来解决了这个问题。我重复了这个过程两次,似乎是一个一致的问题,至少在我的情况下是这样。确保该服务没有运行,在我的情况下它有效,希望这可以帮助你。
一些参考: - https://github.com/docker/for-win/issues/6091

1
我已经取消勾选了,但是我仍然无法使用安装程序安装Docker。我不知道该怎么办。我仍然得到完全相同的错误。 - user5730329

3

如果有人遇到以下错误:

Component CommunityInstaller.EnableFeaturesAction failed

我的解决方法是启用以下服务:
Windows Modules Installer

注意,我用了一个工具[1]来完成这个操作,但我认为你也可以使用普通的服务应用程序。

  1. https://github.com/WereDev/Wu10Man

2
我在安装Docker 3.5.0时遇到了同样的问题。
下载失败:找不到路径'C:\Users\name\AppData\Local\Temp\rzsiezg3p2h'。在CommunityInstaller.InstallWorkflow.d__23.MoveNext()中。
我通过以下步骤解决了这个问题:
1.下载并安装Docker 2.5.0.1。 2.安装完成后打开Docker桌面版。 3.弹出窗口要求更新Docker到3.4.0(或更高版本),点击更新。 4.更新完成后,您就可以启动和使用Docker桌面版了。
另外,您也可以尝试直接下载并安装Docker 3.4.0。

2

我尝试了一切(重新启动,不同版本2.5、3.0、3.3、电源,禁用实时保护),只有增加超时时间才能帮助我:

  1. 点击开始,点击运行,输入regedit,然后点击确定。
  2. 找到并单击以下注册表子键:
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  4. 在右侧窗格中,找到ServicesPipeTimeout条目。 如果ServicesPipeTimeout条目不存在,则必须创建它。请按照以下步骤操作:
  • 在“编辑”菜单上,指向“新建”,然后单击“DWORD值”。
  • 键入ServicesPipeTimeout,然后按ENTER。
  1. 右键单击ServicesPipeTimeout,然后单击修改。
  2. 单击十进制,键入60000,然后单击确定。

1
你能简要地向那些只了解操作系统基础的人解释一下这个程序正在做什么吗? - lsoranco
我的是在120000,所以在我这种情况下可能不是这个问题... - Radzor
我的注册表中奇怪的是没有 ServicesPipeTimeout。 - BND

1

对我来说,问题与https://github.com/docker/for-win/issues/127有关。

Windows GAC中的不同版本NLog干扰了与docker安装一起提供的版本。

要解决此问题,必须删除GAC中的版本:

  1. 进入%windir%\Microsoft.NET\assembly
  2. 找到NLog文件夹
  3. 删除它

1

我曾经遇到过类似的问题,需要执行以下操作:

  1. 卸载。

  2. 如果有任何残留物,您应该:

    • 管理员权限运行RegEdit
    • 删除所有剩余的Docker Desktop条目。

之后,我就能够正确安装它。此外,我注意到在我的情况下,每次更新都会出现这种情况。

P.S.:

之前提出的电源方案在我的情况下不起作用。不知何故,安装文件损坏无法运行。在 Docker 尝试更新后,这种情况已经发生了不止一次。


1
Docker 组件需要兼容层,以在 Windows 10 和 Windows 11 上本地运行 Linux 二进制可执行文件。( 当您选择 "安装 WSL2 所需组件" 时 )。在系统上安装 Docker 之前,请尝试安装 WSL。按照以下步骤安装 WSL 和 Docker:
  1. 右键单击 CMD (命令提示符)
  2. 以管理员身份运行
  3. 输入以下命令~

wsl --install 4. 完成后,重新启动计算机 5. 尝试重新安装 Docker

在安装 WSL 之前,请确保您的 Windows 版本已更新。
参考此链接安装 WSL

“以管理员身份运行” 对我有效(不需要做其他任何操作)。谢谢。 - Neil

0

很抱歉回答晚了,但我能够使用简单的方法解决这个问题。

如果您最近升级了Windows操作系统到最新版本,则此方法有效。

  1. 在安全模式下打开Windows
  2. 运行并输入 -> RegEdit
  3. 遍历到Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysPlant
  4. 现在将Start值更改为4。
  5. 重新启动并尝试安装Docker。

0
组件 communityinstaller.enablefeaturesaction 失败:在 communityinstaller.installworkflow.d_29.movenext() 中无效的命名空间 --- 在上一个引发异常的位置的堆栈跟踪结束 --- 在 system.runtime.exceptionservices.exceptiondispatchinfo.throw() 处 --- 在 system.runtime.compilerservices.taskawaiter.handlenonsuccessanddebuggernotification(task task) 处 --- 在 communityinstaller.installworkflow.d_23.movenext()。
如果这是在安装 Windows 上的 Docker 桌面时出现的问题。

While installing docker desktop, by default WSL2 and  Add shortcut to desktop is ticked or checked as shown in image

答案:取消图像中的第一个配置(即“为 WSL 2 安装所需的 Windows 组件”)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接