在 Windows 上设置开发容器

开发容器允许使用 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 CodeDownload 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):

  1. F1 并选择 “开发容器:在容器中重新打开”。
  2. VS Code 生成在 .devcontainer/devcontainer.json 中定义的容器镜像(或在不存在时提示您添加一个)。
  3. 生成完成后,VS Code 将使用所有已配置的工具和扩展重新连接到容器中。

若要返回到本地环境,请按 F1 并选择 “开发容器:在本地重新打开文件夹”。

将开发容器添加到现有项目

如果您的项目还没有 devcontainer.json

  1. F1 并选择 “开发容器:添加开发容器配置文件”。
  2. 选择基础映像(例如,Node.js、Python或泛型 Debian/Ubuntu 映像)。
  3. 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 系统托盘图标。

后续步骤