在 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 容器的主要内容,如果未能解决你的问题,请参考以下文章