容器列表空白的首要原因是插件虽启用但未连上docker守护进程;需确认docker info在终端可执行、vscode必须从终端启动以继承path和环境变量、linux用户须加入docker组并完全重登、上下文需切回default。

容器列表空白,先确认 Docker 插件是否真在运行
VSCode 侧边栏 Docker 图标显示但点开为空,不是插件“没加载”,而是它启动了却连不上守护进程——这和插件本身是否启用无关。右键 Docker 图标 → 看是否弹出菜单(如 Refresh、Toggle View),能弹出说明插件已激活;若图标灰掉或右键无响应,才是插件未启用。
检查方式很简单:按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Docker: Toggle View 并回车。如果面板能唤出但仍是空的,问题一定出在连接层,不是 UI 渲染或插件禁用。
docker info 能跑,但 VSCode 里看不到容器?环境变量没继承
这是 Linux/macOS 下最常被忽略的断连点:你在终端里 docker ps 和 docker info 全都正常,但 VSCode 是从桌面图标点击启动的,它压根没拿到 shell 的 $PATH、DOCKER_HOST,甚至可能找不到 docker 命令。
- 必须从终端启动 VSCode:
code .(确保当前 shell 已能执行docker ps) - macOS 用户若用
zsh,检查~/.zshrc是否导出DOCKER_HOST(Docker Desktop 通常自动设好,但手动改过 shell 配置后容易丢) - Linux 用户别只加
docker组,groups命令输出必须含docker,且需完全退出图形会话重登(仅重启 VSCode 无效)
右下角显示 “my-remote” 或其他非 default 上下文
VSCode Docker 插件默认只查当前激活的 Docker context,且不读取 DOCKER_CONTEXT 环境变量。如果你用过 docker context use my-remote,插件就会安静地去远程上下文里找容器——本地当然为空。
验证方法:
- 终端执行
docker context ls,看NAME列带*的是不是default - 如果不是,运行
docker context use default - 回到 VSCode,右下角状态栏应显示
default;若仍显示旧名字,点击它手动切回 - 右键 Docker 视图 →
Refresh(或按F5)
插件 UI 空白 + 控制台报 “Extension host terminated unexpectedly”
这不是 Docker 插件自己的错,是别的扩展把它拖垮了。当 Extension Host 崩溃,所有依赖它的插件(包括 Docker)都会失联,表现为列表空白、右键菜单失效、日志面板无 Docker 标签。
立刻验证:
- 终端执行
code --disable-extensions启动 VSCode,再打开 Docker 视图 —— 若此时能列出容器,100% 是其他插件冲突 - 打开开发者工具(
Ctrl+Shift+I),切到 Console,搜Extension host terminated unexpectedly或Shared Process: Not Responding - 运行命令
Developer: Show Running Extensions,重点关注Status为Activation failed或Activation Time>1000ms 的插件
真正麻烦的是那种不报错、不崩溃、但卡在激活阶段的插件——它让整个扩展主机排队等待,Docker 插件根本等不到初始化机会。这种必须靠 Developer: Start Extension Bisect 二分定位,不能只看控制台。











