Docker 无法在带有 WSL 2 的 Windows 11 上启动

Axi*_*iom 21 docker windows-subsystem-for-linux windows-11

我正在尝试使用 WSL 2 设置 docker 来运行 Dockerfile。我下载了 Docker Desktop,当我尝试按照快速入门指南进行操作时,出现以下错误:

\n
docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%d2Fdocker_engine/v1.24/containers/create?name=repo": open //./pipe/docker_enginer: The system cannot find the file specified.\n
Run Code Online (Sandbox Code Playgroud)\n

我将 com.docker.service 设置为在任务管理器中运行,并运行:

\n
\xe2\x80\x9cc:\\Program Files\\Docker\\Docker\\DockerCli.exe\xe2\x80\x9d -SwitchDaemon\n
Run Code Online (Sandbox Code Playgroud)\n

我还退出了 Docker Desktop 并在管理模式下重新打开它,但我仍然收到 Docker Desktop 已停止的消息。

\n

如果还有其他选择请告诉我,谢谢!

\n

Jan*_*ala 36

我设法用这种方式解决了这个问题:

  1. 删除配置文件AppData/Roaming/Docker/settings.json
  2. 启动 Docker Desktop(它将创建新的默认 settings.json)

您需要重新配置设置,因此最好保存旧的 settings.json 并将设置与新设置进行比较。

  • 使用 docker 版本“20.10.17,build 100c701”对我不起作用 (2认同)

小智 14

如果您运行的是 Windows 4.5.0 的 Docker Desktop,那么您应该注意一个现有问题,即安装后选择的默认后端不正确。

您可以通过编辑位于以下位置的文件手动切换到正确的后端:(%AppData%\Docker\settings.json完整路径:)C:\Users\%UserName%\AppData\Roaming\Docker\settings.json,然后在文件底部将wslEngineEnabled字段的值更改为true。之后 Docker Desktop 应该可以正确启动。

用户mccaa25在这里提到了类似的问题和解决方案。


Bel*_*ell 10

最新版本 4.5.0 它也不适合我,对我来说降级到 4.4.4 它有效。可能是最新版本有问题

已发布的说明和旧版本在这里

注意:您可以安装旧版本并更新到最新版本 4.5.0


Arc*_*nus 9

哇!我花了几天时间尝试让 Docker for windows 11 正常工作。最终按照 @GinglrBell 的建议降级到 4.4.4 版本。这是Docker 版本 4.4.4 的链接。

确保已安装 WSL 并启用虚拟化。如果您尝试打开 WSL 并且收到一条错误消息,告诉您在 BIOS 中启用虚拟化,请在 powershell 中以管理员身份bcdedit /set hypervisorlaunchtype auto运行此命令:( Docker src )。然后重新启动您的电脑。


小智 5

我今天遇到了这个问题,以下步骤对我有用 - 要点是我需要事先安装 WSL 2。我的大部分步骤都来自这里

  1. 以管理员身份打开 powershell
  2. wsl -l -v # Linux 的 Windows 子系统没有安装发行版
  3. 从这里安装 Linux 内核更新# 在我的例子中,基于 x64
  4. wsl --设置默认版本 2
  5. wsl --list --online # 显示几个 Linux 发行版,我选择了最近的一个
  6. wsl --install -d Ubuntu-20.04 # 然后创建默认的linux用户名和密码
  7. 从这里安装 Windows docker 桌面# 现在成功启动