docker - 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 容器时,它再次失败并出现上述相同的错误消息。
解决方案
解决此问题的主要目标是:
- 按windows“开始”按钮
- 通过键盘“服务”+“输入”输入
- 找到其中两个:“Hyper-V 虚拟机管理”和“Hyper-V 主机服务”
- (在每个服务上)单击鼠标右键,选择“属性”并在打开的窗口中将“启动类型”更改为“手动”,然后单击“确定”按钮。
- 再次单击每个鼠标右键并选择“开始”
- 按windows“开始”按钮,输入“hyper-v”,它会显示你的超级管理器,打开它
- 在 hyper-v 管理器中选择“连接到服务器”,从弹出窗口中选择“本地计算机”
- 运行您的桌面 docker,它现在可能正在运行,没有崩溃和异常。
推荐阅读
- terraform - 嵌套局部变量上的查找函数
- python - 带有 Google Cloud SQL 的 Google Cloud Function:Python SQLalchemy 引擎工作,但连接失败
- juniper - 瞻博网络 Ansible Json 格式
- reactjs - React mui-datatable 元素类型无效
- python - KeyError:'无法格式化此回调文件路径:“saved_models\\dataweights.{epoch:02d}-{val_accuracy:.2f}.hdf5”。原因:\'val_accuracy\''
- c# - 地形生成算法的错误
- amazon-web-services - Elastic Beanstalk 在长进程中静默失败
- cmake - 如何修复对 QSerialPortInfo 的未定义引用?
- java - 与 Thymeleaf 共享相同 th:field 值(数组)的单独单选按钮?
- c++ - 'boost::placeholders' 尚未声明:boost::placeholders::_1