Docker运行报错wsl问题排查方案

在window中安装运行Docker Desktop时容易遇到有关wsl的报错问题,这里给出几个排查解决的方法用于记录。

排查步骤如下:

一、开启虚拟化问题

1、请确保你的电脑开启了虚拟化,查看是否开启虚拟化的方法如下:

首先,打开【任务管理器】,可以使用快捷键Ctrl+Shift+Esc打开,然后切换到【性能】视图,如下图:

然后,查看下方的虚拟化开启情况,若显示【已启用】,则表明你的电脑当前已开启虚拟化。如下图:

2、若没有开启,具体开启方法如下:

首先,开卡控制面板,点击进入【程序】模块如下图:

然后,点击【启用或关闭Windows功能】,如下图:

接下来,在弹出的弹窗中勾选【Hyper-V】和【适用于Linux的Windows子系统】选项,如下图:


最后,点击确认,然后重启电脑。重启后使用上述方法1查看是否开启虚拟化成功。(一般这样就是可以看到虚拟化已启用)

二、安装【适用于 Linux 的 Windows 子系统】

首先,打开windows应用商店,如下图:

然后,搜索【适用于 Linux 的 Windows 子系统】进行安装,如下图:

若没有找到【适用于 Linux 的 Windows 子系统】,可以尝试在windows应用商店搜索ubuntu,然后安装Ubuntu 22.04.5 LTS或者其他的Ubuntu的LTS版本。

接下来,我们打开【Windows PowerShell】,输入wsl --set-default-version 2将wsl2版本设置为默认使用版本,如下图:

如果上述你电脑提示没有wsl等信息,你可以使用如下链接进行手动下载安装【适用于 x64 计算机的 WSL2 Linux 内核更新包】,下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

最后,其他问题你也可以访问官方网站的排查方法文档,链接:

排查适用于 Linux 的 Windows 子系统问题 | Microsoft Learn

旧版 WSL 的手动安装步骤 | Microsoft Learn

三、其他问题

1、win10/win11下启动wsl/wsl2出现"占位程序接收到错误数据"启动失败的解决办法

该错误容易在如下场景遇到:

1. 启动wsl使用过代理或加速器等软件
2. wsl更新后, wsl --update操作后
3. win10/win11升级后, 替你安装或者升级了"Windows Subsystem for Linux Preview"

解决方法:

1、管理员身份启动cmd/powershell , 运行netsh winsock reset

更多问题请参考:【win10/win11下启动wsl/wsl2出现“占位程序接收到错误数据“启动失败的解决办法】_占位程序收到错误数据win11-CSDN博客

四、尝试重新安装【Docker Desktop】或重启电脑

以上四个排查步骤,你可以尝试在每个排查步骤完成后检查你的Docker Desktop是否可用。

Docker安装运行报错wsl问题排查方案的更多相关文章

  1. docker安装完报错:Failed to start docker.service: Unit docker.service is masked

    执行 systemctl start docker 报错 Failed to start docker.service: Unit docker.service is masked. 解决 syste ...

  2. [sql]sqlite3板子上安装运行报错

    不管是apt-get install还是deb直接安装都抱如下错误: SQLite header and source version mismatch -- ***** -- *****

  3. docker运行报错docker0: iptables: No chain/target/match by that name.

    转自:https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/tar ...

  4. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer

    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1.  Start heka ...

  5. Python首次安装后运行报错(0xc000007b)的解决方法

    最近在安装完Python后运行发现居然报错了,错误代码是0xc000007b,于是通过往上查找发现是因为首次安装Python缺乏VC++库的原因,下面通过这篇文章看看如何解决这个问题吧.   错误提示 ...

  6. 运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cnf FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_

    运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cn ...

  7. 47、安装node-sass后运行报错

    vue安装node-sass编译报错安装node-scss报错安装node-scss报错在搭建vue脚手架 或者是在vue项目中,想使用sass的功能, npm install node-sass - ...

  8. 【转载】Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决办法

    Docker Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke ...

  9. Sql Server 2008卸载后再次安装一直报错

    sql server 2008卸载之后再次安装一直报错问题. 第一:由于上一次的卸载不干净,可参照百度完全卸载sql server2008 的方式 1. 用WindowsInstaller删除所有与S ...

  10. macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

    由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...

随机推荐

  1. 【Guava工具类】Strings&Ints

    String相关工具 Strings Guava 提供了一系列用于字符串处理的工具: 对字符串为null或空的处理 nullToEmpty(@Nullable String string):如果非空, ...

  2. SQL Server 中的事务管理

    SQL Server 中的事务是什么? 事务是应该作为一个单元执行的一组 SQL 语句.这意味着事务确保所有命令都成功或都不成功.如果事务中的命令之一失败,则所有命令都失败,并且在数据库中修改的任何数 ...

  3. CH182的ESP32驱动

    CH182的ESP32驱动需要自取 https://files.cnblogs.com/files/blogs/745523/esp-eth.zip?t=1739322979&download ...

  4. C++宏定义中可变参数列表__VA_ARGS__ 及 QT 提供的宏 QT_OVERLOADED_MACRO

    1. 基本用法 VA_ARGS 是 C/C++ 中的预定义宏,用于在宏定义中表示可变参数列表(Variadic Arguments),需与省略号 ... 配合使用.其核心作用是将宏调用中的可变参数原样 ...

  5. Spring 的 resolveBeforeInstantiation 方法作用详解

    一.定义 resolveBeforeInstantiation 是 Spring 框架中 AbstractAutowireCapableBeanFactory 类的核心方法之一,它在 Bean 的实例 ...

  6. Windows查看端口占用、相应进程、杀死进程等[netstat]

    Windows 通过cmd或powerShell查看端口占用.相应进程.杀死进程等的命令 由于一般开发环境是在windows上,相应的一些测试必然涉及到一些端口的监听与使用.当开发使用的端口被占用后, ...

  7. LLM Agent的构建:OpenAI官方指南解读

    本文是对 OpenAI 近期发布的<A Practical Guide to Building Agents>的读后感与总结 Agent火爆的背景 大型语言模型(LLM)处理复杂.多步骤任 ...

  8. 解决get和post请求提交数据中文乱码问题

    目录 get请求乱码 乱码案例 解决办法 方法一:进行转码 方法二:修改tomcat中conf/server.xml post请求乱码 解决办法:在取参数之前设置编码格式 get请求乱码 Tomcat ...

  9. 【工具】Typora中主题css修改|看了这篇,一劳永逸

    真正的指南 1. 查看当前的css shift+f12,与一般浏览器调试一样,先打开控制台,查找你需要修改的地方叫什么名字.(也可以点击"视图"-"开发者工具" ...

  10. Rolldown:下一代JavaScript/TypeScript打包工具,基于Rust的JS打包工具-速度贼快

    Vue 团队已正式开源 Rolldown 项目,这是一款基于 Rust 的 JavaScript 打包工具. 项目介绍 Rolldown 是使用 Rust 开发的 Rollup.js 编译工具的替代品 ...