Docker 桌面未启动 - 序列不包含匹配元素

Docker Desktop not starting - Sequence contains no matching element

OS: Windows 10 专业版

版本:专业

身份证号:1903

内部版本:18362

构建实验室名称:18362.1.amd64fre.19h1_release.190318-1202

在 Docker Desktop 安装成功后,如果我尝试 运行 它,它会失败并显示以下错误

System.InvalidOperationException:
Sequence contains no matching element
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
   at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
   at Docker.WPF.BackendClient.Version()
   at Docker.WPF.BackendClient.CheckVersion()
   at Docker.WPF.BackendClient.CheckService(String action)
   at Docker.WPF.BackendClient.SendMessage(String action, Object[] parameters)
   at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass18_0.<.ctor>b__1()

我已确保取消选中 vmcompute.exe 的 CFG 覆盖,但它仍然不起作用。

注意:我使用的是 Surface Laptop,我的 ProgramData 位于 microSD 卡中(不在 SSD 上) ProgramData 已通过 mklink /XJ 命令转移到 D:

尝试卸载后清理设置。

删除: 1. C:\用户\\AppData\Local\Docker 2. C:\用户\\AppData\Roaming\Docker 3. C:\用户\\AppData\Roaming\Docker 桌面

希望对您有所帮助。

按照@abu-ahmed-al-khatiri 的建议,我 运行 卸载后的干净脚本并确保 Docker 和 Docker 桌面的 AppData 和 ProgramData 文件夹被删除并在重新安装之前重新启动计算机。

当时的问题是:访问路径 'D:\ProgramData\Docker\cli-plugins' 被拒绝。 我给了"Everyone"文件夹D:\ProgramData\Docker上的"Full Control"。

那么问题是:访问路径 'D:\ProgramData\DockerDesktop.userprofiles 被拒绝。 我给了 "Everyone" 文件夹 D:\ProgramData\Docker 上的 "Full Control"。

Docker桌面现在 运行

经过多次尝试,我的解决方案如下,可在此处找到(jagraj 的回答): https://github.com/docker/for-win/issues/3597

  1. 打开“Window 安全”
  2. 打开“应用程序和浏览器控件”
  3. 点击底部的“利用保护设置”
  4. 切换到“程序设置”选项卡
  5. 在列表中找到“C:\WINDOWS\System32\vmcompute.exe”并展开
  6. 点击“编辑”
  7. 向下滚动到“代码流防护 (CFG)”并取消选中 “覆盖系统设置”
  8. 从 powershell“net start vmcompute”启动 vmcompute