docker启动报错解决方法

文章讲述了在安装并配置Docker后遇到的WSL启动错误,涉及WSL1升级到WSL2后的内核问题。解决方案包括升级内核、修改虚拟机管理程序设置,最终解决了Docker与WSL的兼容性问题。
摘要由CSDN通过智能技术生成

docker安装之后启动报错的一些解决方法

启动时,弹窗报错:Docker Desktop - Unexpected WSL error

在确保了程序设置里,勾选了“Windows虚拟机监控程序平台”,以及“适用于Linux 的windows子系统“之后,还是报错此相同的错误

在查阅大量的资料之后,我发现普遍的解决方法是:

管理员启动的cmd输入:netsh winsock reset 然后重启电脑

我们按照此方法尝试之后,问题仍然无法解决

我们会发现此时的WSL是无法打开linux虚拟机的,当我们点击ubantu虚拟机之后会抛出

WslRegisterDistribution failed with error: 0x800701bc 的错误

(在CSDN上查阅资料,找到一个大佬写的文章,下文参考此文章内容)

出现这个错误的原因是:wsl1升级到wsl2之后,内核却没有升级

解决方法为:下载最新的wsl安装包,运行安装

下载地址:wsl_update_x64.msi

下载安装之后,我们会接触到一个新的错误

"Error: 0x80370102 The virtual machine could not be started because a required feature is not installed."的错误

从微软官网的[文档](适用于 Linux 的 Windows 子系统疑难解答 |Microsoft 学习 — Troubleshooting Windows Subsystem for Linux | Microsoft Learn)中我们可以找到此处错误的解决方法,这便是问题所在(下图为文档第5条),我们根据这个步骤进行操作之后便成功解决了问题,ubantu系统可以正常启动,然后我们再去启动docker,成功进入主页面,不会抛出错误。

image-20240123173646472

bcdedit /enum | findstr -i hypervisorlaunchtype(验证)

bcdedit /set hypervisorlaunchtype Auto(启动)

总结

关键在于最后两个步骤:wsl内核的升级,以及虚拟机管理程序的启动 解决玩这两个问题,就能给成功启动虚拟机,docker也就能够正常使用了

当时解决为了解决这个问题,反反复复查阅了很多CSDN相关文章,重装很多次docker,也重启了很多次电脑,总之解决问题的过程很麻烦,希望能够帮到有同样问题的xdm

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值