开发容器允许使用 Docker 容器作为完整的开发环境,通过签入存储库的 devcontainer.json 文件进行定义。 打开该项目的每个人都会获得相同的工具、扩展和设置 ,而不考虑其本地计算机上安装的内容。
本页介绍特定于Windows的设置。 有关开发容器及其工作原理的完整简介,请参阅 VS Code 网站上的 开发容器文档 。
先决条件
Windows上的开发容器需要:
- WSL 2 — 适用于 Linux 的 Windows 子系统,版本 2。 安装 WSL(如果尚未安装)。
- 启用了 WSL 2 后端的Docker Desktop for Windows。 下载 Docker Desktop 并按照安装程序进行操作。 在设置过程中,请确保在 Docker 桌面设置(设置>常规)中选择使用基于 WSL 2 的引擎。
- Visual Studio Code — Download VS Code。
- 开发容器扩展 - 从 VS Code 市场安装 开发容器扩展 。
存储文件的位置很重要
重要
Windows,开发容器性能在很大程度上取决于项目文件所在的位置。 将项目存储在 WSL 2 文件系统(例如,/home/yourname/projects/),而不是Windows文件系统(例如,C:\Users\yourname\projects\)。
当文件位于Windows文件系统(C:\)上时,Docker 会通过跨 OS 文件共享访问这些文件,这明显较慢。 当文件位于 WSL 2 文件系统中时,Docker 使用本机 Linux I/O,性能要好很多,尤其是用于生成和文件监视工具。
若要克隆到 WSL 2 文件系统,请从“开始”菜单或Windows 终端打开 WSL 分发版(例如 Ubuntu),然后在此处克隆:
cd ~
mkdir projects && cd projects
git clone https://github.com/your-org/your-repo.git
从 WSL 中使用 VS Code 打开该文件夹:
code your-repo
VS Code 连接到 WSL 并检测是否存在 devcontainer.json。
在开发容器中打开项目
在 VS Code 中打开项目后(连接到 WSL):
- 按 F1 并选择 “开发容器:在容器中重新打开”。
- VS Code 生成在
.devcontainer/devcontainer.json中定义的容器镜像(或在不存在时提示您添加一个)。 - 生成完成后,VS Code 将使用所有已配置的工具和扩展重新连接到容器中。
若要返回到本地环境,请按 F1 并选择 “开发容器:在本地重新打开文件夹”。
将开发容器添加到现有项目
如果您的项目还没有 devcontainer.json:
- 按 F1 并选择 “开发容器:添加开发容器配置文件”。
- 选择基础映像(例如,Node.js、Python或泛型 Debian/Ubuntu 映像)。
- VS Code 创建了一个可以
.devcontainer/devcontainer.json检入源代码管理的文件。
有关devcontainer.json选项的完整参考,请参阅开发容器规范网站上的devcontainer.json 参考文档。
故障排除
Container 启动但未检测到文件更改您的项目可能存储在Windows文件系统上。 将其移动到 WSL(查看存储文件的位置很重要)。
Docker Desktop 未启动或缺少 WSL 集成 打开 Docker Desktop,转到 “设置>资源>WSL 集成”,并为已安装的 WSL 分发版启用集成。
VS Code 无法连接到容器 在打开 VS Code 之前,请确保 Docker Desktop 正在运行。 检查 Docker Desktop 系统托盘图标。
后续步骤
- 开发容器文档 - VS Code 团队的完整参考
- devcontainer.json 参考 - 所有配置选项
- WSL 2 上的 Docker 远程容器入门 — 更广泛的 WSL + Docker 安装指南
- 安装 WSL — 如果尚未设置 WSL