由于最近在学习有关大数据架构开发的内容,自己的手提电脑不太给力,只有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

执行该命令后记得重启!

我成功走出来了!!!!!!

参考文献:

[1]   旧版 WSL 的手动安装步骤 | Microsoft Docs

[2] 【DEBUG】Docker 启动失败 | FurtherGazer's blog

Chaya虚拟机学习 —— 启用Docker遇到的Bug相关推荐

  1. 从Windows 10共享文件夹给Docker虚拟机中的Docker的神奇bug

    一,回顾 这篇文章是基于之前发布的脚本 http://blog.csdn.net/hu_zhenghui/article/details/79087151 不过在更多的设备上测试的时候,发现时灵时不灵 ...

  2. Java 虚拟机学习笔记 | 类加载过程和对象的创建流程

    前言 创建对象是 Java 语言绕不开的话题,那么对象是如何创建出来的呢?我们今天就来聊一聊.对象创建第一步就是检查类是否加载,而类的加载又牵扯到类的加载过程.如果单说对象的创建而绕开类的加载过程,感 ...

  3. Docker学习(2)-Docker基础1

    Docker学习(1)-Docker简介 1.2 Docker安装及基础命令介绍 https://www.docker.com/#Docker官网 Docker 运行系统 OS 版本选择: Docke ...

  4. Docker学习1——Docker入门

    Docker学习1--Docker入门 参考资料 1.Docker简介 2.尚硅谷2022版Docker实战教程(docker教程天花板) 1.1 Docker简介 1.1.1 Docker引入 假定 ...

  5. Docker学习(3)-Docker镜像构建和使用

    Docker学习(1)-Docker简介 Docker学习(2)-Docker基础1 Docker 镜像与制作 Docker 镜像内是否包含内核(bootfs)? 首先,从镜像的体积大小来说,一个比较 ...

  6. Java虚拟机学习(8):查看JVM参数及值的命令行工具

    查看JVM各个参数值方式 1. HotSpot vm中的各个globals.hpp文件  查看jvm初始的默认值及参数 globals.hpp globals_extension.hpp c1_glo ...

  7. Java虚拟机学习(7):对象内存分配与回收

    对象优先在Eden上分配 大多数情况下,对象优先在新生代Eden区域中分配.当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC).Minor GC期间虚拟机将E ...

  8. Java虚拟机学习(6):对象访问

    对象访问会涉及到Java栈.Java堆.方法区这三个内存区域. 如下面这句代码: 1 Object objectRef = new Object(); 假设这句代码出现在方法体中,"Obje ...

  9. Java虚拟机学习(5):内存调优

    JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略.由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间. 减少Full GC次 ...

最新文章

  1. Activity启动流程:Hook实现启动未注册Activity
  2. IDEA创建Web Project图解
  3. 编程之美-程序理解和时间分析整理
  4. 阿里云搭建git mac客户端 2个git账号
  5. LeetCode--Search in Rotated Sorted Array
  6. 消息队列 Kafka 的基本知识及 .NET Core 客户端
  7. 基于uCOSII的LCD驱动实验
  8. Mysql批量更新的一个坑-allowMultiQueries=true允许批量更新
  9. Java设计模式学习总结(1)——设计模式简介
  10. easy_install django==1.4.2_百度搜索
  11. 在Windows XP中轻松发传真
  12. Android工程重新编译问题
  13. 用于语音情绪识别的基于对抗学习的说话人无关的表示
  14. Go gorilla websocket 小试牛刀
  15. android 自定义数字键盘
  16. 智能家居UI--灯光控制
  17. 2022年4月23日美团笔试
  18. 在服务器上安装Linux系统
  19. 【045】国家标准全文公开系统-GB和GB/T国家标准库
  20. Magic Leap开发指南(1)--开发前准备

热门文章

  1. iconfont 字体图标
  2. 八、服务器【Ubuntu】GPU-TeslaP100部署
  3. cdn连接失败是什么意思_CDN经常连接失败的原因有哪些?
  4. 路由器、交换机、猫(Modem)、LAN、WAN、WLAN、VLAN基本概念
  5. Educational Codeforces Round 92 (Rated for Div. 2)题解(A-C)
  6. Kotlin的协程:挂起函数
  7. C/C++ 光标:键盘上下键实现菜单移动
  8. SRC漏洞提交平台和应急响应中心
  9. python 爬虫 简单爬虫教程(requests + selenium )
  10. 全国高校中文档--json