前面一片文章给出了因WSL 2.7+ 空闲自动关闭/内存回收导致 Docker 中断的解决方案:
https://blog.csdn.net/boxuming/article/details/165619884?spm=1001.2014.3001.5501
本次又遇到了新的问题:
问题现象
WSL2 Ubuntu 24.04 实例开机后数秒内自动关闭,无法进入 Shell。查看日志发现两个关键错误形成闭环:
text
[16.628768] WSL ERROR: WaitForBootProcess: /sbin/init failed to start within 10000ms
[35.321104] WSL ERROR: InitTerminateInstanceInternal: systemctl poweroff did not terminate the instance in 10000 ms, calling reboot(RB_POWER_OFF)
根因分析
- 启动阻塞 :日志显示
Job docker.service/start running (14s / no limit),Docker 与 containerd 初始化耗时超过 10 秒,阻塞了 systemd 的就绪信号。 - 关机卡死 :触发强制关机后,容器停止流程再次挂起(
Job docker.service/stop running (9s / 1min 30s)),导致关机也超时,最终被内核级强杀。 - 触发背景:此前将配置从 12C/8G 调整为 8C/6G,资源回调使 Docker 冷启动时间略微增加,刚好越过了 WSL2 默认的 10 秒硬超时阈值,让原本隐藏的超时问题显性化。
解决方案
以下两种方法任选其一即可,效果完全等价:
方法一:通过 Dashboard UI 调整(推荐)
在 WSL Dashboard 界面中,将 初始自动代理超时 从默认的 1000ms 调整为 30000ms。

方法二:通过 .wslconfig 配置文件调整
编辑 Windows 用户目录下的 %UserProfile%\.wslconfig 文件,添加或修改以下配置:
ini
[wsl2]
initialAutoProxyTimeout=30000
⚠️ 无论使用哪种方法,修改后均需在 PowerShell 中执行
wsl --shutdown彻底关闭 WSL,再重新启动方可生效。
验证效果
重启 WSL 后能够正常进入 Shell,不再出现启动即崩溃的现象,Docker 服务也可正常拉起。
经验总结
- WSL2 默认的 10 秒超时是开发环境的隐形杀手,搭配 Docker 使用时极易触发,建议主动将超时调整为 30 秒。
- 适度降低资源配置有助于暴露架构瓶颈,但需配合超时参数调整才能保证稳定运行。
- Dashboard UI 与
.wslconfig配置效果一致,可根据个人习惯选择;UI 方式更直观不易出错,配置文件方式更适合批量部署或版本管理。