Docker 桌面在 Windows 10 中启动时崩溃

标签 docker windows-10 virtualization hypervisor

我通过“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 容器时,它再次失败并出现上述相同的错误消息。

最佳答案

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

  • 按windows“开始”按钮
  • 通过键盘输入“服务”+“输入”
  • 找到其中两个:“Hyper-V 虚拟机管理”和“Hyper-V 主机计算机服务”
  • (在每个服务上)单击鼠标右键,选择“属性”并在打开的窗口中将“启动类型”更改为“手动”,然后单击“确定”按钮。
  • 再次单击每个鼠标右键并选择“开始”
  • 按windows“开始”按钮,输入“hyper-v”,它会显示你的 super 管理器,打开它
  • 在 hyper-v 管理器中选择“连接到服务器”,从弹出窗口中选择“本地计算机”
  • 运行您的桌面 docker,它现在可能正在运行,没有崩溃和异常。
  • 关于Docker 桌面在 Windows 10 中启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60630752/

    相关文章:

    mysql - Docker:将mysql数据库拆分到不同数据卷容器中?

    mysql - Docker mysql 容器无法使用启动时定义的数据卷

    java - Gradle 构建旧版本代码

    docker - 在Norton中进行哪些更改以允许Docker共享驱动器D

    caching - 如何使用缓存快速重建 dockerfile?

    docker - 如何使用Docker设置单独的.env进行开发和生产

    c# - 来自 Windows 10 桌面应用程序的 Toast 通知中的意外行为

    linux - 为什么 ioctl 命令报告 "KVM doesn' t support IOMMU”?

    android - 将物理SIM卡虚拟成安卓手机

    windows - 在 Windows 上运行 Mac OS 应用程序?