将VS Code附加到运行中容器时出错的问题求助
无法将VS Code附加到Docker容器:远程资源管理器无数据且命令找不到
问题详情
我当前环境配置:
- Visual Studio Code v1.100.1
- Docker Desktop 4.41.2
- Dev Containers扩展 v0.413.0
本地有4个运行中的Docker容器,尝试将VS Code附加到其中一个时遇到两个问题:
- 远程资源管理器无法显示Docker容器,提示:
There is no data provider registered that can provide view data. - 通过新窗口尝试附加容器时,报错:
Error running command remote-containers.attachToRunningContainerFromViewlet: command 'remote-containers.attachToRunningContainerFromViewlet' not found. This is likely caused by the extension that contributes remote-containers.attachToRunningContainerFromViewlet.
已尝试以下操作但未解决问题:
- 回滚Dev Containers扩展和Docker Desktop到之前版本
- 清除Dev Containers扩展的数据
- 重新安装Docker Desktop
有没有人遇到过相同问题,能提供解决方法?
可能的解决方法
1. 确认远程资源管理器视图配置
- 打开远程资源管理器,点击顶部下拉菜单,确保选中「Containers」选项(而非WSL、SSH等其他视图)。
- 若下拉菜单无「Containers」选项,手动检查扩展状态:
- 打开VS Code扩展面板(Ctrl+Shift+X)
- 找到「Dev Containers」扩展,确认已启用;若已启用,先禁用再重新启用。
2. 重置VS Code扩展宿主环境
- 打开命令面板(Ctrl+Shift+P),执行
Developer: Reload Window命令重载窗口,让扩展重新加载。 - 若无效,执行
Developer: Reset Extension Host命令重置扩展宿主,随后重启VS Code。
3. 验证Docker CLI可用性
- 打开终端执行
docker ps,确认能正常列出运行中的容器。若命令失败:- 打开Docker Desktop设置,进入「Resources > Advanced」,勾选「Allow the default Docker socket to be used」。
- 检查系统环境变量
PATH,确保包含Docker CLI路径(Windows通常为C:\Program Files\Docker\Docker\resources\bin, macOS/Linux需对应自身安装路径)。
4. 清理VS Code缓存
- 关闭VS Code和Docker Desktop。
- 找到VS Code用户数据目录:
- Windows:
%APPDATA%\Code - macOS:
~/Library/Application Support/Code - Linux:
~/.config/Code
- Windows:
- 删除目录下的
Cache和CachedData文件夹,重启VS Code。
5. 排查扩展冲突
- 暂时禁用其他与Docker、远程开发相关的扩展(如Docker官方扩展、Remote - SSH等),重启VS Code后测试问题是否消失。若恢复正常,逐个重新启用扩展,定位冲突的扩展。
内容的提问来源于stack exchange,提问作者Olivier
相关产品推荐
相关产品推荐

