【发布时间】:2017-08-22 18:50:01
【问题描述】:
我使用的是 Windows 10 电脑。最近我下载了适用于 Windows 的 docker,它运行良好。但是,最近发生了一个问题,它不再启动它只是挂在启动状态。
我没有更改任何配置,我想知道是什么导致了这个问题。
我用的是最新版的docker。
在我的电脑上,Hyper-V 已启用,容器已禁用。 (因为我儿子不用windows容器,我觉得没必要。)
在任务栏上,当我检查泊坞窗图标时。一直处于启动状态。
当我检查服务时,它似乎正在运行。
当我在 powershell 上尝试 docker 命令时。它找不到 docker 命令。
我并不急于设置 docker,我只是在玩它。但是,突然出现了这个问题。我一直在尝试解决这个问题一段时间。我在寻找解决方案时搜索了类似的问题并多次卸载 docker。一个工具突然停止工作并且没有任何痕迹可以找到根本问题,这很奇怪和令人不安。我怀疑可能是公司保险政策更改影响了我的计算机并导致此问题但我找不到任何线索来支持这一点。
我的问题是我应该怎么做才能明白哪里出了问题。是什么导致了问题以及如何解决。
注意:当我重新启动计算机时会出现以下错误。
错误信息的内容:
连接时出错:获取 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.30/containers/json: 打开 //./pipe/docker_engine: 系统找不到指定的文件。在 Windows 上的默认守护进程配置,docker 客户端必须是 运行提升连接。这个错误也可能表明 docker 守护进程没有运行。
在 Docker.Backend.DockerDaemonChecker.Check(Func`1 isDaemonProcessStillRunning) 在 C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\DockerDaemonChecker.cs:line 63 在 Docker.Core.Pipe.NamedPipeServer.c__DisplayClass9_0.b__0(Object[] 参数)在 C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47 在 Docker.Core.Pipe.NamedPipeServer.RunAction(字符串动作, Object[] 参数)在 C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 145
当我运行docker ps -a 时出现以下错误。
docker ps -a error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.30/containers/json?all=1: open //./pipe/docker_engine : 系统找不到文件 指定的。在 Windows 上的默认守护程序配置中,docker 客户端必须未提升才能连接。此错误还可能表明 docker 守护进程没有运行。
【问题讨论】:
-
打开 Hyper-V 并删除 docker VM 并重新安装 Docker for windows
-
虽然我已经安装了docker,但Hyper-V管理器上没有列出虚拟机。 “在此服务器上未找到虚拟机。”但是,我使用的是 Linux 容器,而不是 Windows 容器。或许,与此有关。
-
如果你有 linux 容器,那么 VM 需要在那里,否则它将无法工作。这可能是问题所在,因为没有后备虚拟机,所以 docker 无法工作。不知道为什么根本没有实例化虚拟机
-
我在 Windows 10 中遇到了完全相同的问题。您找到任何解决方案了吗?
-
是的,问题已解决。检查安装的hyper-v。检查 hyper-v 和容器功能是否已启用。检查 docker 服务是否正在运行。并确保您使用最新的 docker。另外,您可以在github.com/docker/for-win/issues 上开票,如果您上传日志,他们会帮助您。就我而言,问题已通过 docker update 到新版本解决。 (实际上它已经是最新的了,但是发布了一个新版本并解决了这个问题。所以可能是一个 docker 错误。)请耐心等待,继续尝试 :) 让我知道它是否已解决。
标签: docker windows-10 hyper-v docker-engine