解决 Dev Containers 模板下载失败:ENOTFOUND 报错处理
Environment
DevContainer Docker VSCode Windows 现象描述
在 VS Code 中尝试通过插件建立 Dev Containers 环境时,经常弹出 ENOTFOUND pkg-containers.githubusercontent.com。
根因分析
这个报错意思很直白:网络连不到 GitHub 的容器模板服务器。
VS Code 的自动配置向导需要从该域名下载预设的开发环境模板(如 .NET, Python 等)。在国内由于网络隔离,请求往往会直接挂掉,导致配置流程卡死。这种情况下,依赖官方的自动下载逻辑挺奇怪的,因为手动创建配置永远是最稳妥的方案。
修复方案:手动构建配置
既然自动生成走不通,直接在项目目录下手动完成环境准备。
1. 手动创建目录结构
在项目根目录下(例如 F:\work_space\test-net),新建文件夹:
- 命名:
.devcontainer
2. 手动创建配置文件
在 .devcontainer 文件夹内,新建一个文本文件:
- 命名:
devcontainer.json
3. 写入配置配方
将以下配置粘贴进 devcontainer.json。这个配置直接指定了镜像来源和基础插件,不需要联网去 GitHub 抓取额外的模板。
{
"name": "IELTS-NET-Lab",
"image": "[mcr.microsoft.com/devcontainers/dotnet:8.0](https://mcr.microsoft.com/devcontainers/dotnet:8.0)",
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csdevkit"
]
}
}
}
执行环境切换 确保 Docker Desktop 已经在后台运行。
在 VS Code 中按下 F1 键(或 Ctrl+Shift+P)。
输入并选择:Dev Containers: Reopen in Container。

VS Code 会自动重启并根据刚才手动创建的 JSON 文件拉取镜像。这样就避开了 pkg-containers 的域名请求,直接利用 Docker 镜像仓库完成环境部署。