Docker Desktop 不会切换到 Windows 容器(在 Windows 10 上)

2024-05-23

我有 Windows 10 专业版,版本 21H1。 BIOS 中已启用虚拟化,Hyper-V 正在运行。我已经安装了适用于 Windows 的 Docker Desktop,如上所述here https://docs.docker.com/desktop/windows/install/。 我启动了 Docker Desktop,一切似乎都与 Linux 容器配合良好。然而,当我切换到 Windows 容器时,我不断因以下堆栈跟踪而崩溃:

Docker.Core.DockerException: 所需的服务进程已退出 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.Engines\DockerDaemonChecker.cs 中的 Docker.Engines.DockerDaemonChecker.d__5.MoveNext() 处:第 58 行 --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.Engines\WindowsContainersEngine.cs 中的 Docker.Engines.WindowsContainersEngine.d__12.MoveNext() 处:第 56 行 --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.Engines\WindowsContainersEngine.cs 中的 Docker.Engines.WindowsContainersEngine.d__12.MoveNext() 处:第 65 行 --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs 中的 Docker.ApiServices.StateMachines.TaskExtensions.d__0.MoveNext() 处:第 29 行 --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs 中的 Docker.ApiServices.StateMachines.StartTransition.d__5.MoveNext() 处:第 67 行 --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs 中的 Docker.ApiServices.StateMachines.StartTransition.d__5.MoveNext() 处:第 92 行

在日志中我不断看到这一行:

msg="错误监视事件流:来自守护程序的错误响应:打开 \\.\pipe\docker_engine_windows: 系统找不到指定的文件。"

我尝试了各种推荐的修复方法,例如:

cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon

什么都不起作用。请给我一些想法,我不知道该怎么办了。

Thanks,

问候,

Sorin


最后我注意到这个问题是由于我在后台运行了另一个杂散的 Docker 守护进程 (dockerd.exe)。停止该容器后,我可以将 Docker 桌面切换到 Windows 容器。 此外,在命令行中运行它现在已经成功:

docker -H "npipe:////./pipe/docker_engine_windows" ps
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker Desktop 不会切换到 Windows 容器(在 Windows 10 上) 的相关文章

随机推荐