Docker Desktop 用户无法执行 WSL 命令。一些受害者刚刚安装了 Docker Desktop,而另一些受害者则在更新应用程序后遇到了此问题。以下是用户看到的确切错误消息。
修复 Docker Desktop – Windows 11 中意外的 WSL 错误
如果您在 Docker Desktop 中遇到 Unexpected WSL 错误,首先按照错误消息中的建议进行操作,即使用wsl –shutdown关闭 WSL 。如果这不起作用,请按照下面提到的解决方案进行操作。
- 安装或更新 WSL
- 使用旧版控制台
- 确保 Hyper-V、虚拟机平台和 Windows Hypervisor 平台已启用
- 重置Winsock
- 修复或重置 Windows 子系统 Linux
- 卸载并重新安装 WSL 和/或 Docker Desktop
让我们详细谈谈它们。
1]安装或更新WSL
要运行 WSL 命令,您需要自动安装 WSL。大多数用户都知道这种情况并安装了 WSL,但也许您的 WSL 由于某种原因被卸载了。再次安装也没有什么坏处,我们会尝试做同样的事情。要执行相同的操作,请以管理员身份打开命令提示符 ,然后运行下面提到的命令。
wsl --install
让命令运行并为您安装 WSL。安装 WSL 后,检查问题是否已解决。如果 WSL 已安装,您需要运行以下命令来更新 WSL。
wsl –update
更新后,检查问题是否解决。
2]使用旧版控制台
旧控制台模式是一种兼容性工具,旨在帮助旧命令行工具的用户。如果您无法从当前的命令提示符控制台访问 WSL,请切换到旧版控制台。要执行相同的操作,请按照下面提到的步骤操作。
- 打开 命令提示符。
- 右键单击标题并选择属性。
- 勾选 使用旧版控制台(需要重新启动,影响所有控制台) 并单击确定。
这将为您完成这项工作。
3]确保启用Hyper-V、虚拟机平台和Windows Hypervisor平台
您需要确保启用 Hyper-v、虚拟机平台和 Windows Hypervisor 平台功能。这些是负责运行 WSL 或任何虚拟环境的一些功能。要执行相同的操作,请按照下面提到的步骤操作。
- 打开 控制面板。
- 转至 程序 > 程序和功能。
- 现在,单击 “打开或关闭 Windows 功能”。
- 确保启用 Hyper-v、虚拟机平台和 Windows Hypervisor 平台功能。
希望这能为您完成这项工作。
4]重置Winsock
Winsock 是一个 Windows Socket API,用于在网络软件和服务之间进行通信。如果Winsock中存在一些故障导致问题,您需要重置它才能解决问题。要执行相同的操作,请以管理员身份打开命令提示符 并运行下面给出的命令。
netsh winsock reset
现在,重新启动计算机并检查问题是否已解决。
5]修复或重置Windows子系统Linux
如果 WSL 安装损坏或配置错误,您也可能会遇到此问题。我们将首先修复 WSL,如果无效,我们将重置它。要执行相同的操作,请按照下面提到的步骤操作。
- 打开 设置。
- 转至 应用程序 > 已安装的应用程序 或 应用程序和功能。
- 搜索 “Linux 的 Windows 子系统”。
- Windows 11: 单击三个点并选择高级选项。
- Windows 10: 选择应用程序并单击“高级选项”。
- 现在,单击 修复。
如果问题仍然存在,请单击 “重置”。 这将为您完成这项工作。
6]卸载并重新安装 WSL 和/或 Docker Desktop
如果没有任何效果,您最后的手段是卸载 WSL并安装新的副本。如果问题是由于安装介质损坏引起的,重新安装即可解决问题。如果问题仍然存在,请对 Docker Desktop 执行相同的操作。
就是这样!
如何修复 Docker Desktop 上的意外 WSL 错误?
如果在 Docker Desktop 中出现 WSL 错误,首先将其关闭,然后重新启动。如果这不起作用,请从第一个解决方案开始执行,然后向下移动。
Docker Desktop 是否需要 WSL?
是的,您需要 WSL 才能在 Windows 计算机上运行 Docker Desktop。建议安装 WSL 2,因为它是最新版本,并授予改进的文件系统共享功能。