VS Code搭配Docker使用时WSL服务意外关闭的解决求助
解决VS Code WSL Server意外关闭问题
问题根源
从终端日志可以明确:VS Code错误地尝试连接docker-desktop-data这个WSL发行版,但它是Docker专用的存储镜像,不包含完整的Linux用户环境和可执行shell,导致执行sh命令失败,触发getpwuid(0)等系统调用错误,最终WSL Server启动失败。
解决方法
1. 设置默认WSL发行版为正常Linux发行版
打开Windows终端,先查看已安装的所有WSL发行版:
wsl --list --verbose
找到你实际使用的Linux发行版(如Ubuntu、Debian等),将其设为默认:
wsl --set-default <你的发行版名称>
示例:
wsl --set-default Ubuntu
2. 在VS Code中手动指定连接目标
如果不想修改默认发行版,可直接在VS Code中选择正确的发行版:
- 按下
Ctrl+Shift+P打开命令面板 - 输入
WSL: Connect to WSL,选择你正常使用的Linux发行版,避开docker-desktop-data
3. 清理VS Code WSL服务器残留(可选)
若之前的错误导致残留文件干扰,可在正常的WSL发行版中删除旧的VS Code Server目录:
rm -rf ~/.vscode-server
重启VS Code后会自动重新安装适配的服务器版本。
内容的提问来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

