首页 > 解决方案 > Docker 桌面在 Windows 10 中启动时崩溃

问题描述

我通过“Docker Desktop Installer”在 Windows 10 上安装了 docker desktop。

安装后我注销并登录。一段时间后它在启动时崩溃,说明如下消息

Docker.Core.Backend.BackendDestroyException:
One or more errors occurred.
   at Docker.Core.Pipe.NamedPipeClient.<TrySendAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
   at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean withNotifications)
   at Docker.Actions.<>c__DisplayClass26_0.<StartAsync>b__0()
   at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass18_0.<.ctor>b__1()

  System.AggregateException:
  One or more errors occurred.
     at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
     at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
     at Docker.Backend.LifecycleClient.DockerStart()
     at Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions, Credential credential)
     at Docker.Backend.ContainerEngine.Linux.Start(Settings settings, String daemonOptions, Credential credential)

     Docker.Core.HttpBadResponseException:
     unable to fetch daemon.json: Get http://unix/engine/daemon.json: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
        at Docker.Backend.HttpClientExtensions.<ParseResponseBodyAsJsonAsync>d__2`1.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 Docker.Backend.HttpClientExtensions.<GetJsonAsync>d__0`1.MoveNext()

我卸载,重新启动我的电脑并通过选择“Windows Container”进行安装。然后在重新启动后检查正在运行的 docker。它成功启动了。但是当我切换到 Linux 容器时,它再次失败并出现上述相同的错误消息。

标签: dockerwindows-10virtualizationhypervisor

解决方案


解决此问题的主要目标是:

  1. 按windows“开始”按钮
  2. 通过键盘“服务”+“输入”输入
  3. 找到其中两个:“Hyper-V 虚拟机管理”和“Hyper-V 主机服务”
  4. (在每个服务上)单击鼠标右键,选择“属性”并在打开的窗口中将“启动类型”更改为“手动”,然后单击“确定”按钮。
  5. 再次单击每个鼠标右键并选择“开始”
  6. 按windows“开始”按钮,输入“hyper-v”,它会显示你的超级管理器,打开它
  7. 在 hyper-v 管理器中选择“连接到服务器”,从弹出窗口中选择“本地计算机”
  8. 运行您的桌面 docker,它现在可能正在运行,没有崩溃和异常。

推荐阅读