window安装docker desktop打开报错问题
报错如下
为了SEO,让大家能更好的搜索到,文字提取一下:
An unexpected error occurred
An unexpected error was encountered while executing a WSLcommand. Common causes include access rights issues, which occurafter waking the computer or not being connected to your domain/active directory.
Please try shutting WSL down (wsl --shutdown) and/or rebooting yourcomputer. If not sufficient, WSL may need to be reinstalled fully. As alast resort, try to uninstall/reinstall Docker Desktop. lf the issue persistsplease collect diagnostics and submit an issue (https://docs.docker.com/desktop/troubleshoot/overview/#diagnose-from-theterminal).
Error details:2 errors occurred:
*provisioning docker WSL distros: setting main distro version:running WSL command "wsl.exe -d docker-desktop -u root -e wsl-bootstrap version set main-99724" failed with output " xc2S)x03)x80x84vxf9[ax8clx8bWrN/elx01cx1dl2x84xcdd\lOx020r\x00rx00\n\x00": exit status Oxffffffff
* checking if isocache exists: CreateFile wsl$\docker-desktopdatalisocachel: The network name cannot be found.
尝试过的方案
- 重新安装wsl+多次重启(无效)
- 重新安装docker-desktop+多次重启(无效)
- 淘宝咨询,店家说无法解决(无效)
解决办法
docker官网没给太多说法,去微软官网看wsl介绍,找相关资料,按步骤从头再来,解决~
划重点:
仔细比对发现是电脑中wsl没有linux系统导致,增加使用 WSL 在 Windows 上安装 Linux步骤,解决问题。
反思
docker必须部署在linux内核的系统上,所以如果windows想安装,需要先安装一个linux虚拟机,然后再在虚拟机中运行,而wsl中安装Ubuntu就相当于安装了虚拟机,wsl没有linux环境就不能正确使用docker。
ubuntu小插曲(参考的对象类型不支持)
解决
netsh winsock reset
每次开机以管理员方式自动执行一次该命令。
让所有程序都默认以管理员身份运行
专业版系统具体步骤如下:
使用小娜搜索 secpol 或 “本地安全策略” (或运行 secpol.msc ),右键选择以管理员身份打开(或许需要);
展开 本地策略,选择 安全选项,在右边找到“用户帐户控制:以管理员批准模式运行所有管理员”,双击它,将本地安全设置更改为“已禁用”;
然后重新启动计算机即可
完成操作后,通过 Win + R 执行命令 cmd 会发现输入框下面有一行小字”以管理员身份运行”
家庭版系统步骤如下(如果是家庭版用户没有组策略是无法像上述的专业版系统一样操作的):
打开注册表编辑器(运行 regedit),展开注册表到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System ,选择项 System 后,在右侧找到 EnableLUA ,将其值更改为0;
然后重新启动计算机即可。
完成操作后,通过 Win + R 执行命令 cmd 会发现输入框下面有一行小字”以管理员身份运行”
开机自动执行命令
win + r 打开命令行
输入 shell:startup
回车
进入一个文件夹
新建一个cmd脚本,如:netsh_winsock_reset.cmd,内容如下:
netsh winsock reset