解决 Dev Containers 模板下载失败:ENOTFOUND 报错处理

解决 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 Containerimage.png

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

© 2026 Personal Website
Developed by Ryan 🫡