docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > wsl2+docker无法运行

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

作者:溶度积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可能的原因:在内核构建流程中未打开部分功能

解决方案:

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无法运行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文