vscode docker插件安装依赖extensions.gallery.serviceurl配置,必须设为带协议、路径及末尾斜杠的镜像地址(如"https://vscode.cdn.azure.cn/_apis/public/gallery/"),并同步配置大小写敏感且路径一致的cacheurl,否则插件页空白;改后需彻底杀掉所有code helper进程才生效。

VSCode Docker 插件本身不走 extensions.gallery.serviceUrl
Docker 插件(Docker by Microsoft)是普通 VSCode 扩展,它的安装、更新逻辑和所有其他插件一样,**完全依赖 VSCode 的扩展市场协议**。但关键点在于:它自己不“拉镜像”,也不“连 registry”,所以你配的 docker.host 或 DOCKER_HOST 环境变量,对插件安装过程毫无影响。真正卡住你下载 Docker 插件的,还是那个默认指向 marketplace.visualstudio.com 的市场地址。
必须改 settings.json 里的 extensions.gallery.serviceUrl
不改这个,Docker 插件页面就转圈、空白、报 Unable to connect to the extension gallery——哪怕你本地 Docker daemon 运行正常,右下角也显示 “Docker is available”。
-
extensions.gallery.serviceUrl必须设为带完整协议 + 正确路径 + 末尾斜杠的镜像地址,例如:"https://vscode.cdn.azure.cn/_apis/public/gallery/" -
extensions.gallery.cacheUrl必须同步配置,推荐值与 serviceUrl 一致,或明确补上/publishers,例如:"https://vscode.cdn.azure.cn/_apis/public/gallery/publishers" - 大小写敏感:
extensionGallery写成extensiongallery就静默失败 - 别混用源:serviceUrl 用
vscode.cdn.azure.cn,cacheUrl 却填open-vsx.org,会导致 publisher 列表 404
改完必须彻底杀掉所有 Code Helper 进程
VSCode 扩展市场模块只在启动时读一次配置,后台 Code Helper 进程会缓存旧地址。点“重新加载窗口”或托盘里“重启”根本没用。
- Windows:右键任务栏图标 → “退出”,再进任务管理器,干掉所有
Code.exe和Code Helper.exe - macOS:打开“活动监视器”,搜
Code和Code Helper,全部强制退出 - Linux:终端执行
pkill -f "code"或killall -9 code
否则你会看到设置明明改了,但 Docker 插件页还是空白——不是镜像源有问题,是旧进程还在跑。
docker.host 配置和镜像源无关,但影响插件功能可用性
docker.host 是 Docker 插件运行时用来连接 Docker daemon 的地址,和插件从哪下载完全无关。如果你右下角提示 “Docker is not available”,检查点是:
- Docker Desktop / Docker Engine 是否真正运行(
docker version能返回结果) -
docker.host设置是否写错,比如填了localhost:2375但 daemon 绑定的是127.0.0.1:2375(部分系统 localhost 解析异常) - Linux 下用户是否加入
docker组,否则会因权限被拒 - 远程 daemon 场景下,TLS 配置是否完整(
docker.tls,docker.tlsCert等)
镜像源解决的是“装不上插件”,docker.host 解决的是“装上了但用不了”。两者常被混为一谈,但故障域完全不同。











