守护程序的错误响应: 打开\\.\pipe\docker_engine_linux 失败,系统找不到指定的文件。

72

我在尝试在Windows 10计算机上开始使用Docker时,出现以下错误。

错误:打开 \.\pipe\docker_engine_linux 失败:系统找不到指定的文件。

我发现当我登录电脑时,虚拟机管理程序Hyper-V无法自动运行Docker虚拟机,尽管我的Docker桌面应用已经在运行。一旦我手动启动Hyper-V中的Docker虚拟机并重新启动Docker,它就可以正常工作。但这不是一个永久性的解决方案。请问我能得到一些帮助吗?


在Windows上,重新启动Docker桌面版对我很有效。 - Mohini
28个回答

80

重启 Docker Desktop for Windows 对我有帮助。您可以通过右键单击托盘图标并选择重新启动来执行此操作。


在我的情况下,我只在安装Docker Desktop后的第一次遇到了这个错误。无论如何,重新启动是解决问题的方法。 - Mario

50

我也遇到了同样的问题。在以管理员身份运行PowerShell中编写以下命令,将Docker从Windows切换至Linux并按如下方式编写命令:

cd "C:\Program Files\Docker\Docker"

./DockerCli.exe -SwitchLinuxEngine

这是解决该问题的简单方法。


这对我很有效,我想补充一下,在安装Docker Desktop之前,我已经运行了WSL。 - M.N.

16

2022年10月更新

我通过重新启动WSL解决了这个问题,因为仅重新启动Docker无法解决我的问题。

在我的情况下,在遇到此问题之前,Docker正常运行。

这是我采取的步骤:

  1. 关闭Docker桌面版
  2. 打开cmd并运行wsl --shutdown
  3. 启动Docker桌面版并按下下方的重新启动按钮
    (它应该会在几秒钟内弹出)

enter image description here


1
这个!!!我以为我已经尝试了所有的方法。但是最终在重启和不知道什么操作之后,这个解决了问题。 - Andez
1
是的,在我的情况下重新启动WSL有帮助! :) - Zdravko Kolev

9
在我的情况中,错误的原因比主要答案("关闭并重新打开它")建议的还要简单。 Docker Desktop 已经 停止运行了!
当我将鼠标悬停在托盘图标上时,它消失了。
更多细节:
Docker Desktop可能已经崩溃,也可能是因为强制更新而关闭。 我在更新Java运行时环境后遇到了这个问题。
然后,当我打开Docker Desktop时,更新运行了,并且我甚至不能选择“是”或“否”,托盘图标只显示“Docker Desktop正在启动”,菜单也已经崩溃了。

谢谢。我恢复了JAVA_PATH设置,现在它可以工作了。 - heading
不错,这意味着我所写的关于Java更新可能会触发Docker桌面崩溃的文章是正确的。 - questionto42

3
我的Docker桌面软件似乎卡住了,无法启动。始终显示“正在启动...”。在终端中运行任何docker命令都会抛出相同的异常:“Error response from daemon: open \.\pipe\docker_engine_linux:”。我尝试了一些上面提到的选项,在Windows 10上没有起作用。我只是进入了Windows服务(在搜索框中输入“services”)。找到“Docker Desktop Service”,停止并重新启动它一次。然后再尝试启动Docker桌面软件。它非常快地恢复正常。 enter image description here

3

请在Powershell中运行以下命令并启动Docker:

Net stop com.docker.service

然后

Net start com.docker.service

2
我可以通过在设置中启用以下内容,自动触发 Hyper V 上的 Docker VM 启动:

enter image description here

以下是翻译:

在 Docker 启动并且容器运行正常之前,以下错误会持续出现。

ERROR: open .\pipe\docker_engine_linux: 系统找不到指定的文件。


2

尝试了许多方法。

  1. 关闭 Docker。

enter image description here

  1. 以管理员身份启动 Docker。

enter image description here


1
在我的情况下,Docker桌面运行良好,但是当我运行"docker pull"时,选择了窗口容器,但是我遇到了以下错误:“Error response from daemon: open \.\pipe\docker_engine_linux: The system cannot find the file specified”。最后,我通过以管理员模式在PowerShell中运行以下命令来解决该问题。
Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -All

1
尝试将您的项目文件夹添加到“设置 -> 资源 -> 文件共享”中。然后点击按钮应用并重启

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接