在 Windows 版本 10.0.18363 中无法切换到 Docker 中的 Windows 容器

Posted

技术标签:

【中文标题】在 Windows 版本 10.0.18363 中无法切换到 Docker 中的 Windows 容器【英文标题】:In Windows Version 10.0.18363 Cannot Switch to Windows container in Docker 【发布时间】:2021-10-29 12:00:43 【问题描述】:

上下文:

-Windows 版本:10.0.18363 Build 18263 -Docker 信息:

 Cloud integration: 1.0.17
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:58:50 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

-计算机:Surface Laptop 3 -Docker 设置:Docker Settings Screenshot

问题:

在过去的四天里,我一直无法在我的计算机上切换到 windows 容器,也无法运行 windows 容器。每次我尝试切换到 Windows 容器时,都会出现以下错误:

System.ServiceProcess.TimeoutException:
Time out has expired and the operation has not been completed.
   at System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
   at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(Settings settings, String args, Dictionary`2 env) in C:\workspaces\master-merge\src\github.com\docker\pinata\win\src\Docker.Backend\Processes\WindowsDockerDaemon.cs:line 208
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__0(Object instance, Object[] methodParameters)
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- 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 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__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 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.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 System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()

然后我得到“重置为出厂默认设置”选项,当我单击它时,它会挂起很长时间,而 docker 尝试再次启动并最终崩溃。我试过:重启我的电脑,重启Docker,卸载并重新安装Docker,删除daemon.json文件,降级我的windows版本,然后再次升级。我不知道如何从这里尝试让我的 Windows 容器在我的机器上运行。

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 没有代码,尝试运行 docker 容器时出现问题。 【参考方案1】:

在link 之后,我刚刚进入 c:/ProgramData/Docker 并删除了 panic.log 文件的只读权限。然后我重新启动了 Docker,它工作了。

【讨论】:

以上是关于在 Windows 版本 10.0.18363 中无法切换到 Docker 中的 Windows 容器的主要内容,如果未能解决你的问题,请参考以下文章

Win10 如何在系统内用cmd命令查看系统详细信息

小技巧Matlab中如何通过指令查看电脑配置和GPU配置?

IDEA安装Flutter遇到的坑

卡在 Visual Studio 中运行的 Flutter 项目

OS第1次实验报告:熟悉使用Linux命令和剖析ps命令

我正在尝试构建我的 Flutter 项目的 apk,但发生错误并且无法构建