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

72

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

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

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


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

1

1
解决这个问题的一种方法是每次打开电脑时重新执行以下步骤:
# -------------------- enable the wsl for linux on windows ------------------- #
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# ---------------------- enable virtual machine feature ---------------------- #
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# ------------------------ set wsl as default version ------------------------ #
wsl --set-default-version 2

然后启动Docker桌面图标,Docker引擎将会无问题地启动。


1

我在Windows 10上遇到了类似的问题,所以我卸载了版本4.16并安装了旧版本4.13。从Docker桌面的设置更新中,我点击更新到最新版本,然后它就可以正常工作了。创建了之前缺失的所有文件。


1

在我的情况下,只有重新安装才能解决问题。

注意:这将删除所有本地的Docker镜像,并且您需要重新构建它们。请注意,任何文件、数据库中的数据或存储在本地Docker容器中的REDIS服务中的数据都将被此方法删除。因此,只有在其他答案无法解决问题并且您能够从备份中恢复数据时,才应考虑使用此方法!

以下步骤将为您提供一个全新、干净的Docker环境:

  1. 通过Windows的“程序和功能”>“卸载或更改程序”卸载Docker桌面版
  2. 删除%AppData%目录中的“Docker”文件夹(通常为“C:\Users\YOURPROFILE\AppData\Roaming”),以及C:\Users\YOURPROFILE中的“.docker”文件夹(如此处所建议)
  3. 重启Windows
  4. https://www.docker.com/products/docker-desktop/下载最新的Docker桌面版并安装它(在管理员Shell中运行“Docker Desktop Installer.exe”)

一些额外的提示:

  • 可能并不总是需要删除文件夹(步骤2),但这可以确保您以出厂设置开始全新安装
  • 在安装过程中,Docker会询问(并建议)启用WSL2。在我的情况下,我发现这导致了我遇到的问题 - 因此我再次安装时禁用了此选项(请注意,虽然您可以在docker设置中禁用它,但在我的情况下没有帮助,我真的必须在安装期间禁用它)。在我这样做之前,当我打开电脑时,Docker又停止工作了。我无法找出为什么WSL2阻止了Docker的启动,但这个解决方法对我有帮助 - 使用Hyper-V代替。
    请注意,某些Docker镜像需要WSL2。在这种情况下,您可以通过Docker上下文菜单的“设置”中重新启用它的“常规”选项卡。在这样做之前,请检查是否需要修复WSL2(因为这可能会防止Docker启动)- 修复它,然后在Docker中启用WSL2。

1

2023年1月更新

如果在终端中使用wsl --shutdown时出现卡顿,可以参考@Michiel Pater的解决方案。需要以管理员身份打开任务管理器,找到Windows Subsystem for Linux并结束它。几秒钟后,从Docker桌面通知中点击重新启动

enter image description here


0

我使用Cloudflare WARP造成了这个问题,现在我切换它关闭后就可以了。


0

目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

0

WSL 2安装不完整。在Docker上执行“重启”后,提示我安装Linux内核。


这并不真正回答问题。如果你有不同的问题,你可以点击提问来提出。如果你想在这个问题有新的答案时得到通知,你可以关注这个问题。一旦你获得足够的声望,你也可以添加悬赏来吸引更多关注。- 来自审核 - zochamx

0

我将Docker更新到最新版本,错误已经消失。


0

在使用IntelliJ服务时出现了这个消息。对我来说,解决方案是确保Windows上安装的Docker也在运行并显示容器列表。一旦Docker桌面应用程序显示容器列表,此Docker就连接到IntelliJ,错误消息就消失了。


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