切换Docker到Podman后,VS Code Dev Containers扩展报错求助
问题:Docker切换Podman后VS Code Dev Containers扩展段错误故障
从Docker切换到Podman构建镜像后,CLI环境下可正常构建运行容器,但使用VS Code的Dev Containers扩展连接容器时触发段错误,核心报错为Segmentation fault (core dumped),同时伴随userEnvProbe is taking longer than 2 seconds. Process not found提示,完整错误日志如下:
[27274 ms] Start: Run in container: /bin/sh -c mkdir -p /temp/backup [27517 ms] [21:15:20] Started initializing default profile extensions in extensions installation folder. file:///root/.vscode-server/extensions [27583 ms] [21:15:20] ComputeTargetPlatform: linux-x64 [27610 ms] [21:15:20] Completed initializing default profile extensions in extensions installation folder. file:///root/.vscode-server/extensions [27675 ms] [21:15:20] ComputeTargetPlatform: linux-x64 [27853 ms] Container server: Segmentation fault (core dumped) [27862 ms] Start: Run in container: # Test for /root/.gitconfig and git [27863 ms] userEnvProbe is taking longer than 2 seconds. Process not found. [27883 ms] [27883 ms] [27884 ms] Start: Run in container: # Copy /Users/david.dsilva/.gitconfig to /root/.gitconfig [27888 ms] Error: unexpected end of parent stream at So.destroy (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:106773) at So.write (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:107514) at /Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:109617 at /Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:95001 at /Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:97674 at Object.cb (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:104092) at c (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:102318) at /Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:24:102465 at s (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:27:5371) at Socket.<anonymous> (/Users/david.dsilva/.vscode/extensions/ms-vscode-remote.remote-containers-0.304.0/dist/extension/extension.js:27:5541) at Socket.emit (node:events:525:35) at endReadableNT (node:internal/streams/readable:1358:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) [27888 ms] Container server terminated (code: 139, signal: null). [27924 ms] [27924 ms] [27925 ms] Start: Run in container: mkdir -p '/tmp/devcontainers-04490ea3-c94e-49a0-8331-2568d6056a941692652492684' && cat > '/tmp/devcontainers-04490ea3-c94e-49a0-8331-2568d6056a941692652492684/env-loginInteractiveShell.json' << 'envJSON' [27961 ms] [27961 ms] [27962 ms] Start: Run in container: # Cleaning up git config [27969 ms] Port forwarding connection from 52918 > 40577 > 40577 in the container. [27969 ms] Start: Run in container: /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/node -e [27973 ms] [21:15:21] No uninstalled extensions found. [28065 ms] [28066 ms] [28066 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --global --replace-all credential.helper '!f() { /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/node /tmp/vscode-remote-containers-8af35539-abf9-4831-a6bb-5786d37bcba1.js git-credential-helper $*; }; f' || true [28144 ms] [28144 ms] [28534 ms] Port forwarding 52918 > 40577 > 40577 stderr: Connection established [28569 ms] Port forwarding connection from 52921 > 40577 > 40577 in the container. [28569 ms] Start: Run in container: /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/node -e [28599 ms] [21:15:21] [127.0.0.1][ab28e5f0][ManagementConnection] New connection established. [28657 ms] [21:15:21] Log level changed to info [29490 ms] Port forwarding 52921 > 40577 > 40577 stderr: Connection established [30492 ms] Port forwarding 52921 > 40577 > 40577 stderr: Error: read ECONNRESET at TCP.onStreamRead (node:internal/stream_base_commons:217:20) [30492 ms] Port forwarding 52918 > 40577 > 40577 stderr: Error: read ECONNRESET at TCP.onStreamRead (node:internal/stream_base_commons:217:20)
解决方案
1. 调整userEnvProbe配置
段错误大概率和环境变量探测超时有关,在.devcontainer/devcontainer.json中强制指定探测类型或禁用探测:
// 方式1:使用loginShell探测 "userEnvProbe": "loginShell" // 方式2:直接禁用探测(适合快速验证) "userEnvProbe": "none"
2. 更新依赖版本
- 升级Podman到最新稳定版,修复Podman与VS Code扩展的兼容性问题
- 更新VS Code的Dev Containers扩展到最新版本,确保扩展支持Podman的最新特性
3. 清理VS Code远程服务器缓存
容器内的VS Code服务器文件可能损坏,执行以下命令清理后重新连接:
# 替换<container-name>为你的容器名称或ID podman exec -it <container-name> rm -rf /root/.vscode-server
4. 检查容器内Node.js环境
VS Code服务器依赖特定版本的Node.js,若容器内Node版本不匹配可能触发段错误:
- 查看日志中VS Code服务器版本(如
6c3e3dba23e8fadc360aed75ce363ba185c49794)对应的Node版本要求 - 在容器内安装匹配的Node.js版本
内容的提问来源于stack exchange,提问作者David D'Silva
相关产品推荐
相关产品推荐

