docker-desktop找不到WSL2的解决办法
先安装了docker-desktop,才想起并安装wsl2,但是安装完WSL2后,docker-desktop设置-resouces-WSL integration还是找不到“Enable integration with additional distos: Ubuntu-20.04”,而是显示“You don't have any WSL 2 distros installed. Please convert a WSL 1 distro to WSL 2, or install a new distro and it will appear here.”
在网上搜“You don't have any WSL 2 distros installed. Please convert a WSL 1 distro to WSL 2, or install a new distro and it will appear here.”没有找到适合小白的解决办法。
现在解决了记录下来,备忘,并共类似情况小伙伴参考。
1. 确认系统硬件符合需求:设备内存:8G 或者更高,满足。
2. 确认windows系统符合需求:通过cmd里输入
winver
回车查看,Win10 1903以上,满足。
3. 确认CPU虚拟化已开启:ctrl+alt+del,性能,CPU,虚拟化已打开,满足。
4. 开始安装wsl:网好、系统盘空间充足,选择自动安装:
5. 搜索CMD,右键管理员启动,输入以下命令并按回车键 # 默认 Ubuntu 20.04:
wsl --install
等待后报错,再来自一次,好了。重启电脑。
6. 卸载并再次安装docker-desktop,安装成功,进去设置还是没看见可选Ubuntu-20.04。再次把docker-desktop卸载掉。
(如果是wsl安装有问题,要去“启用或关闭Windows功能”的窗口,取消两个选项,相当于删掉wsl,重启,再重新安装wsl)
(如果是docker-desktop在安装界面就直接报错,而且上面那个“启用或关闭Windows功能”的窗口打不开,或者打开直接空白,而且根据网上的方案修复失败。我解决不了,最后我是格式化系统盘,重装windows,才安装成功的。)
7. 检查WSL版本,CMD输入以下命令并按回车键:
wsl -v
返回以下结果说明是安装到WSL2了。
【如果没有成功安装上wsl2,就倒回去第6步,删除wsl,再重新安装,如果自动安装wsl不成功,就换手动方法安装,①下载(https://docs.microsoft.com/zh-cn/windows/wsl/install-manual)后(别急着安装),②启动相关 Windows 功能(把步骤6的再重新打勾,重启。),③安装(https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi),④设置 WSL2 为默认版本(CMD管理员输入:wsl --set-default-version 2,⑤然后使用微软商店安装Ubuntu-20.04。】
8. 检查是否成功安装Ubuntu 20.04:CMD输入以下命令并按回车键:
wsl -l -v
返回信息:
NAME STATE VERSION
* Ubuntu-20.04 Stopped 1
docker-desktop-data Stopped 2
docker-desktop Stopped 2
原来是虽然安装了Ubuntu-20.04,但是安装在WSL1了,而且它停了。
所以解决问题的关键在于:先要把Ubuntu-20.04转到WSL2上,然后在让它run起来。
9. CMD管理员,输入以下命令并按回车键:
wsl --set-version Ubuntu-20.04 2
#执行后Ubuntu 20.04 将升级到 WSL 版本 2
10. 然后启动 Ubuntu 20.04,可以尝试以下方法之一:
10.1 通过开始菜单启动:
点击 Windows 开始菜单。在应用程序列表中找到 “Ubuntu 20.04” 或类似名称的条目。点击它以启动 Ubuntu 20.04。
10.2 通过 PowerShell 或命令提示符启动:
打开 PowerShell 或命令提示符。输入以下命令并按回车键:
wsl -d Ubuntu-20.04
11. 检查是否成功安装Ubuntu 20.04到WSL2且运行起来了:CMD输入以下命令并按回车键:
wsl -l -v
返回信息,显示Ubuntu 20.04已经转到WSL2,且运行起来了:
12. 再次双击docker-desktop安装文件完成安装。进入设置,这次找到了resouces-WSL integration找不到Enable integration with additional distos: Ubuntu-20.04,开关打开。Apply & restart。
完成了。