由于最近在学习有关大数据架构开发的内容,自己的手提电脑不太给力,只有8G内存,对于VMWare很吃力,再加上感觉老师上课的步骤过于繁琐,所以打算从VMWare跳转到Docker来安装虚拟机来减少电脑运行的压力。
因为之前实习开发数据库的时候用到过Docker,现在打算重新开启我的Dockers使用路程(估计也是因为之前使用过,没操作好,导致我后面问题出现了一大堆)
话不多说,正题开始!
运行环境:Win10专业版-21H1
一、问题的发现
当我打开许久没有用到的Docker时,出现了下列报错
在Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:行号 160 在 Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\WSL2Provisioning.cs:行号 81 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__28.MoveNext() 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:行号 177 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:行号 29 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 67 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 位置 C:\workspaces\PR-17739\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 92
就类似于这样子的[2]:
二、问题思考
好家伙,我在想是不是之前环境之类的被我弄乱了还是咋滴,我就从以下几个角度来思考问题的原因:
- 软件本身原因
- Windows下的Linux子系统wls没有更新或之前安装失败
- 想不出来了,直接根据问题Google吧...
三、解决问题
2.1 是否软件本身存在问题
然后我就在第一个问题上一直纠结,(删了装装了删)*n次,还是同样的报错
所以不是软件的问题,是我的问题
2.2 WSL安装问题
然后我就去微软官网[1]查找关于wls下载的问题一步步走
旧版 WSL 的手动安装步骤 | Microsoft Docs在旧版 Windows 上手动(而不是使用 wsl 安装命令)安装 WSL 的分步说明。https://docs.microsoft.com/zh-cn/windows/wsl/install-manual成功在自己的电脑上运行wsl(我使用的时ubantu内核)
以为这就结束了吗?并没有!!当我打开docker时,报错依然存在...
2.3 终极解决方案
实在没办法,前面走了太多弯路了,这次学精了,直接把报错扔到Google索引里面去。抱着试一试的心态,在下面这篇文章 [ 2 ] 的指导下:【DEBUG】Docker 启动失败 | FurtherGazer's blog错误信息 …https://furthergazer.top/article/2021/9/20/129.html在PowerShell(管理员模式)或者cmd(管理员模式)中执行
netsh winsock reset
执行该命令后记得重启!
我成功走出来了!!!!!!
参考文献: