当前位置: 首页 > 知识库问答 >
问题:

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

洪英豪
2023-03-14

我有Windows 10 Pro,版本21H1。虚拟化在BIOS中启用,Hyper-V正在运行。我已经安装了Docker Desktop for Windows,如下所述。我启动Docker桌面,看起来一切都可以很好地运行Linux容器。然而,当我切换到Windows容器时,我总是遇到这个stacktrace崩溃:

Docker.Core.DockerException:必需的服务进程已在 Docker.Engines.DockerDaemonChecker.d__5 C:\workspaces\16360\src\github.com\docker\pinata\win\src\Docker.Engines\DockerDaemonChecker.cs:第 58 行 --- 从在系统.运行时---抛出异常的先前位置的堆栈结束跟踪.运行时.异常服务.异常披露信息.Throw() 在系统.运行时.编译器服务.TaskWaiter.HandleNon成功和调试通知(任务任务) 在Docker.Engines.WindowsContainersEngine.d__12.MoveNext() 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.Engines\WindowsContainersEngine.cs:第 56 行 --- 从系统.运行时---抛出异常的先前位置的堆栈跟踪的末尾.运行时.ExceptionServices.异常差异在Docker.Engines.WindowsContainersEngine.d__12.MoveNext() 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.Engines\WindowsContainersEngine.cs:第 65 行 --- 堆栈跟踪的末尾,该位置在系统.运行时.异常服务.异常信息中引发异常---() 在 System.Runtime.Compiler.CompilerServices.TaskAwaiter.HandleNonsucesandDebuggernotification(Task 任务) 在 Docker.ApiServices.StateMachines.TaskExtensions.d__0.MoveNext() 在 C:\workspaces\PR-16360\src\github.com\docker\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:第 29 行 --- 结束堆栈跟踪从以前的位置 ---,其中异常在系统.运行时.异常服务.异常释放信息.throw() 在系统.运行时.编译器服务.TaskAwaiter.HandleNon 成功和调试通知(任务任务) 在 Docker.ApiServices.StateMachines.StartTransition.d__5.MoveNext() 在 C:\workspaces\PR-16360\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:第 67 行 ---从先前位置的堆栈跟踪结束,其中--- 在系统.运行时.ExceptionServices.ExceptionDispatchinfo.Throw() 在 C:\workspaces\PR-16360\src\Docker.ApiServices.StateMachines.StartTransition.d__5 github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:第 92 行

在日志中,我一直看到这一行:

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

我尝试了各种建议的修复方法,例如:

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

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

谢谢,

问候语,

索林

共有1个答案

沃楷
2023-03-14

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

docker -H "npipe:////./pipe/docker_engine_windows" ps
 类似资料:
  • 我继承了一台Windows服务器核心机器,我想在那台机器上的docker中运行基于Linux的容器。它目前被设置为运行基于Windows的容器,所以我想切换到运行linux容器。 当我尝试使用一个基于Linux的映像时,我得到了这个错误: 在我的Windows台式机上,我会使用系统托盘中的Docker桌面上下文菜单在linux和Windows容器之间切换,但这在Windows Core中是不可用的

  • 我是docker的新手。我在windows 10上使用docker for windows。我创建了一个docker容器应用程序(spring boot),该应用程序需要与rabbitmq通信-这也是在一个容器中。他们都使用相同的docker网络(默认网桥网络),但当我尝试连接到rabbitmq(端口5672)时,连接被拒绝。我使用的是容器IP(rabbitmq为172.17.0.2)。如果我在d

  • 问题内容: 我刚刚安装了IE9 beta,并且在我创建的特定网站(HTML5)上,除非我手动告知IE9,否则IE9会跳至兼容模式。我曾尝试删除网站的多个部分,但没有任何变化。包括删除所有的CSS include。在我的其他网站上,一切正常。 另外,不要手动设置它,因为IE9会记住用户设置,并且您不能将其恢复为自动设置(或者至少我没有找到方法,甚至没有通过私有浏览和清空缓存) 无论如何。跳至兼容模式

  • 我有一个在节点容器和redis容器中运行的express API。当试图将节点容器连接到redis时,我遇到了以下错误。

  • 我们已经实现了基于选择器的解决方案 就像 它可以正常工作,直到我们开始每秒发送大约100条消息,同时收到大约100条回复和100条收入消息,并不时发送100条我们的回复(两种方式大约每秒400条消息),因为对方的未知问题,我们的合作伙伴切断了连接。我们重新建立了连接,但由于某些原因选择器并没有切换到只写状态读取。我们在read上收到很多信息,但无法发送任何信息<有什么想法吗?是我们这边的操作系统问

  • 每当我在eclipse上切换工作区时,我都会得到错误: 期间发生内部错误:“正在初始化 Java 工具”。重复的字段名称 如果我重启Eclipse,它就会正确地加载新的工作区。你知道我该怎么解决这个问题吗? 我在视窗 7 上使用日食开普勒