插件不显示容器或镜像,主因是docker cli不可用、守护进程未启动或linux用户未加入docker组;需检查path、权限、上下文路径及daemon状态。

装完插件看不到容器或镜像,大概率不是插件问题,而是 Docker CLI 不可用、守护进程没启动,或 Linux 用户没加 docker 组。
docker 命令在终端能用,但 VSCode 里插件不显示资源
VSCode 插件靠调用 docker 可执行文件和 Docker daemon 通信。即使你在终端里能跑 docker ps,VSCode 启动时可能没继承相同的 PATH 或权限上下文。
- 在终端执行
which docker,记下完整路径(比如/usr/bin/docker或/opt/homebrew/bin/docker) - VSCode 设置里搜
Docker: Path,填入上面的路径,保存后执行Developer: Reload Window - Linux 用户必须确认已运行
sudo usermod -aG docker $USER,且**完全退出并重登系统会话**(仅重启 VSCode 不生效) - macOS M 系列用户要检查 Docker Desktop 设置里是否勾选了
Use the new Virtualization framework
右键 Dockerfile → Build Image 失败,报错找不到 COPY 的文件
插件默认把当前文件所在目录设为构建上下文(build context),而 COPY 指令只能访问上下文内的路径。Dockerfile 在 ./src/Dockerfile,却写 COPY package.json .,就会失败——因为 package.json 在项目根目录,不在 ./src 下。
- 最稳做法:把
Dockerfile放到项目根目录,所有COPY引用的文件都在它同级或子目录 - 临时绕过:右键 Dockerfile →
Build Image...,在弹出框里手动改Context为.(项目根目录),再点构建 - 进阶控制:勾选
Advanced,用-f指定 Dockerfile 路径,用.指定上下文,等价于命令行docker build -f ./src/Dockerfile .
容器列表为空,或只显示部分容器
“Containers” 节点默认只列出 docker ps 的结果,也就是正在运行的容器;已停止的容器需要手动展开 “Stopped” 分组才看得到。
- 想查所有容器(含已退出的):先在侧边栏 Docker 视图顶部点三个点 →
Refresh,确保状态同步 - 右键任意容器 →
View Logs,如果日志面板空白,说明该容器启动后立刻退出(比如主进程是sleep 10),插件无法捕获空日志 - 启动容器务必加
-d:用docker run -d nginx才会持续运行并出现在插件里;docker run nginx运行完就退出,插件根本不会收录 - 远程 Docker 主机需手动配置
DOCKER_HOST环境变量,插件不会自动读取终端里的export DOCKER_HOST=...
删镜像提示 “unable to delete image”
这不是插件 bug,是 Docker 引擎拒绝操作:镜像被某个容器(包括已停止的)引用,或有 dangling 子镜像依赖它。
- 先在插件 “Images” 节点里找目标镜像,看右侧标签是否标有
used by container - 命令行快速验证:
docker ps -a --filter ancestor=IMAGE_ID -q(把IMAGE_ID替成实际 ID),有输出就得先删对应容器 - 安全清理顺序:先
docker image prune清悬空镜像,再删目标镜像;强行用Remove Image (Force)等价于docker image rm -f,可能破坏层引用关系
真正卡住人的往往不是功能不会用,而是上下文路径、用户组权限、守护进程状态这些底层连通性细节——它们不出错时一切丝滑,一出错整个视图就变灰。每次插件异常,优先回到终端跑一遍 docker version 和 docker info,比反复重装插件管用得多。











