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

In Windows Version 10.0.18363 Cannot Switch to Windows container in Docker

上下文:

-Windows 版本:10.0.18363 内部版本 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 容器在我的机器上工作。

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