一次wsl2+docker无法运行的经历实战记录

 更新时间:2025年05月06日 08:29:19   作者:溶度积Ksp  
这篇文章主要介绍了在使用WSL2和Docker Desktop时遇到的错误,并提供了解决方案,错误可能是由于自定义WSL内核导致的,文中通过代码介绍的非常详细,需要的朋友可以参考下

前情提要

由于某个大创项目的需要和对猫娘机器人的迫切渴求(bushi 需要在电脑里面安装docker desktop。由于电脑里面安装了wsl2环境 因此决定使用wsl2+dockerdesktop的方式配置docker

遇到的问题

在像往常一样安装docker desktop并且启动时 提示错误:

running engine: waiting for the Docker API: engine linux/wsl failed to run:
starting WSL engine: 
error spotted in wslbootstrap log: 
"[2025-03-21T13:07:10.372236810Z][wsl-bootstrap][F] exit status 32"

或者错误:

deploying WSL2 distributions
ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: 
getting main distro bootstrap version:
open \\wsl$\docker-desktop\etc\wsl_bootstrap_version: The network name cannot be found.
checking if isocache exists: CreateFile \\wsl$\docker-desktop-data\isocache\: The network name cannot be found.

解决方案

尝试了网上给出的许多方法 比如 wsl --unregister docker-desktop 卸载重装docker-desktop 重新安装服务等等等等
最终发现:如果你自己编译了wsl的内核,在.wslconfig 删除加载这个内核即可解决发现问题的原始issue https://github.com/microsoft/WSL/issues/11771可能的原因:在内核构建流程中未打开部分功能

解决方案:

  • 若你没有自定义内核的需求,删除自定义内核配置即可
  • 若你存在自定义内核的需求,在https://github.com/user-attachments/files/17561192/config-wsl-6.6.36.6.txt这一配置上修改
  • 若你需要高度自定义内核 则修改以下配置从 my
CONFIG_BRIDGE=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_NFT_COMPAT= y CONFIG_NETFILTER_XT_NAT
=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y

相关的话

由于这个问题是docker的问题 若你在wsl里面使用docker而非使用docker desktop也可能遇到这个问题

总结

到此这篇关于wsl2+docker无法运行的文章就介绍到这了,更多相关wsl2+docker无法运行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Windows10在wsl2上面安装docker全攻略

    Windows10在wsl2上面安装docker全攻略

    作为开发者,你可能会遇到不同操作系统和环境带来的挑战,Docker 可以帮助你创建隔离和可移植的容器,使应用程序运行得更加高效,这篇文章主要介绍了Windows10在wsl2上面安装docker的相关资料,需要的朋友可以参考下
    2025-11-11
  • docker中的run/cmd/entrypoint的区别详解

    docker中的run/cmd/entrypoint的区别详解

    Dockerfile中run、cmd和entrypoint都能够用于执行命令,针对每个命令给他介绍详细用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • 修改docker网桥网段范围实现方式

    修改docker网桥网段范围实现方式

    文章介绍了如何修改Docker默认的172.17.0.0/16网桥网段,以避免与局域网冲突,提供了两种方法:一种是修改Docker配置文件并重启服务,另一种是创建自定义网络并指定子网范围,同时,还提到了一些参考命令,如查看docker0网桥信息和删除docker0网桥
    2025-12-12
  • 开发者必备Docker命令小结

    开发者必备Docker命令小结

    本文主要讲解Docker环境的安装以及Docker常用命令的使用,掌握这些对Docker环境下应用的部署具有很大帮助,感兴趣的可以了解一下
    2021-12-12
  • Docker多架构镜像构建全过程

    Docker多架构镜像构建全过程

    文章介绍了如何使用DockerBuildx工具实现一次构建同时支持ARM64和AMD64平台的Docker镜像,并详细描述了构建过程、技术方案和问题排查,最终,通过脚本使用指南和常见问题解答,帮助用户更好地理解和使用该工具
    2026-01-01
  • 限制 docker 使用cpu的常见方式

    限制 docker 使用cpu的常见方式

    在 Docker 中可以使用多种方法来限制容器对 CPU 的使用,下面给大家分享如何限制 docker 使用cpu,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 详细记一次Docker部署服务的爬坑历程

    详细记一次Docker部署服务的爬坑历程

    这篇文章主要介绍了详细记一次Docker部署服务的爬坑历程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Docker中如何删除image(镜像)的方法

    Docker中如何删除image(镜像)的方法

    这篇文章主要介绍了Docker中如何删除image(镜像)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker 教程之镜像列出详细介绍

    Docker 教程之镜像列出详细介绍

    这篇文章主要介绍了Docker 教程之镜像列出详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • Docker动态添加端口不需要重新建立镜像的方法

    Docker动态添加端口不需要重新建立镜像的方法

    Docker容器在运行期间有时可能会需要修改或者添加暴露的端口,但是有时候运行的容器又不想再另外建立一个新的镜像。接下来通过本文给大家分享Docker动态添加端口不需要重新建立镜像的方法,感兴趣的朋友一起看看吧
    2019-07-07

最新评论