VS Code Dev Container启动极慢如何解决?日志显示控制清单获取失败
VS Code Dev Container启动缓慢且提示"Failed to fetch control manifest"的修复方案
问题场景
使用VS Code搭配Docker和Dev Container扩展时,功能可正常运行但启动速度极慢,启动日志显示:
[1597 ms] Start: Run: docker -v [1645 ms] Start: Resolving Remote [136401 ms] Failed to fetch control manifest: [136404 ms] Start: Run: docker compose version --short
Docker代理配置(~/.docker/config.json)如下:
$ cat ~/.docker/config.json { "proxies": { "default": { "httpProxy": "http://proxy.org.com:81", "httpsProxy": "http://proxy.org.com:81", "noProxy": ".org.com" } } }
注意:直接从WSL的bash启动相同Docker容器时无此问题。
修复步骤
1. 同步VS Code的代理设置
打开VS Code设置(快捷键Ctrl+,),搜索并配置以下选项,确保与Docker代理一致:
http.proxy:设置为http://proxy.org.com:81https.proxy:设置为http://proxy.org.com:81http.proxyStrictSSL:设置为false(若代理无需SSL验证或使用自签证书)
配置后重启VS Code生效。
2. 为Dev Container配置代理环境变量
在项目的.devcontainer/devcontainer.json中添加代理相关环境变量,确保容器内部及扩展能正确使用代理:
"remoteEnv": { "HTTP_PROXY": "http://proxy.org.com:81", "HTTPS_PROXY": "http://proxy.org.com:81", "NO_PROXY": ".org.com" }
若使用Docker Compose,在docker-compose.yml的服务配置中添加:
services: <你的服务名>: environment: - HTTP_PROXY=http://proxy.org.com:81 - HTTPS_PROXY=http://proxy.org.com:81 - NO_PROXY=.org.com
3. 确保Docker Desktop的代理配置同步(Windows/WSL环境)
若使用WSL搭配Docker Desktop,需在Docker Desktop中同步代理设置:
- 打开Docker Desktop设置,进入Resources > Proxies
- 选择"Manual proxy configuration",填入与
config.json一致的代理地址 - 勾选"Use proxy server for Docker commands"
- 点击"Apply & Restart"重启Docker
4. 清除Dev Container缓存
打开VS Code命令面板(Ctrl+Shift+P),执行Dev Containers: Clean Container Cache,清除旧的缓存镜像和容器,避免缓存导致的拉取异常。
5. 验证代理连通性
若能进入Dev Container终端,执行以下命令测试代理是否正常工作:
curl -x http://proxy.org.com:81 https://github.com
若请求失败,检查代理地址、端口是否正确,NO_PROXY规则是否覆盖了必要的内部域名。
内容的提问来源于stack exchange,提问作者Ido Ran
相关产品推荐
相关产品推荐

