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. angular双向数据绑定踩坑记:

    在angular中使用ngModel时出现了一个报错error NG8002: Can't bind to 'ngModel' since it isn't a known property of ' ...

  2. Kubernetes的工作机制

    云计算时代的操作系统 Kubernetes 是一个生产级别的容器编排平台和集群管理系统,能够创建.调度容器,监控.管理服务器. Kubernetes 的基本架构 操作系统的一个重要功能就是抽象,从繁琐 ...

  3. CoreOS 更新重启后, 所有容器服务全部停掉了

    今天有几个服务出问题了,上去看了下,这台 CoreOS 下的所有容器服务竟然全部停掉了,好奇怪,启动容器时明明加了--detach参数了呀. 问题原因 想了想,会不是是 CoreOS 更新重启导致的, ...

  4. unigui如何直接显示一个PDF文件【13】

    这个问题有点搞笑. PDF.js v1.9.426 (build: 2558a58d) 信息:Unexpected server response (204) while retrieving PDF ...

  5. Win10禁用UWP

    Win10禁用UWP, HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsStore DisableStoreApps REG_DWORD 0 ...

  6. Linux 关机与重启命令

    关机命令 我们可以使用以下三种命令来关机 Linux : 1.立刻关机(需要root用户) shutdown -h now 10 分钟后自动关机 shutdown -h 10 2.立刻关机 halt ...

  7. 不同数据库Oracle、PostgreSQL、Vertical、Mysql常用操作

    不同数据库Oracle.PostgreSQL.Vertical.Mysql常用操作 授权语句用于管理数据库用户的权限,常见的授权语句如下: 1.授权用户对表的SELECT权限 GRANT SELECT ...

  8. Redis实现高并发场景下的计数器设计

    大部分互联网公司都需要处理计数器场景,例如风控系统的请求频控.内容平台的播放量统计.电商系统的库存扣减等. 传统方案一般会直接使用RedisUtil.incr(key),这是最简单的方式,但这种方式在 ...

  9. 为什么 MySQL 选择使用 B+ 树作为索引结构?

    为什么 MySQL 选择使用 B+ 树作为索引结构? MySQL 选择 B+ 树作为其索引结构的主要原因是它具有以下几个优势,这些优势使得 B+ 树非常适合用于数据库系统中的索引实现. 1. 高效的范 ...

  10. 一天 Star 破万的开源项目「GitHub 热点速览」

    虽然现在市面上的 AI 编程助手已经"琳琅满目",但顶流就是顶流!OpenAI 新开源的轻量级编程助手 Codex,发布不到 24 小时 Star 数就轻松破万!姗姗来迟的 Ope ...