windows 11 安装启动Docker Desktop报错“Docker Desktop – Unexpected WSL error”
解决方法:
1,重启电脑,进入bios,检查是否打开了 虚拟化支持,如果没有则打开(我在安装docker前就是打开状态);
2,控制面板–程序–启用或关闭windows功能检查以下3项是否勾选:
(Hyper-V,虚拟机平台,适用于 Linux 的 Windows 子系统)
也可以在终端管理员模式下输入下述命令在Windows 操作系统中启用 Microsoft Hyper-V 虚拟化技术。
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
然后输入下述命令,设置 Windows 操作系统中的 Hyper-V 启动类型。它会将 Hypervisor 的启动类型设置为 “auto”,这意味着在系统启动时自动启动 Hyper-V。
bcdedit /set hypervisorlaunchtype auto
更新wsl
wsl --update
3,在Microsoft Store中找到Linux子系统,选择安装其中之一,例如Ubuntu。
如果出现报错
Installing, this may take a few minutes… WslRegisterDistribution failed with error: 0x800701bc Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel Press any key to continue…
打开 PowerShell管理员输入docker –version出现报错
The command ‘docker’ could not be found in this WSL 2 distro. We recommend to activate the WSL integration in Docker Desktop settings. For details about using Docker Desktop with WSL 2, visit: https://docs.docker.com/go/wsl2/
原因是,没有安装wsl2的内核升级包,解决办法也很简单,升级wsl的内核。
在微软wsl官网下载wsl2,[官网地址](旧版 WSL 的手动安装步骤 | Microsoft Learn)
打开 PowerShell管理员,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
安装windows的子系统支持
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
输入netsh winsock reset,重启电脑。
检测docker版本
docker --version
创建docker项目
docker run hello-world
这时打开docker就不会报错了,可以看见hello-world镜像