vscode dev containers

其他源码 2025-08-23

重要说明:开发容器在开发容器github org中有一个新的,扩展的房屋!我们很高兴能与您建立联系。要了解更多信息,您可以查看我们的迁移公告。

该存储库不再活跃,并且在2023年11月存档。作为开放Dev容器规范的工作的一部分,我们已将此存储库的大部分内容迁移到DevContainers Github org。

  • DEV容器规格维护者(例如VS代码团队)管理的功能现在处于DevContainers/功能中。
  • DEV容器规格维护器管理的定义/模板现在在DevContainers/模板中。
  • mcr.microsoft.com/devcontainers和mcr.microsoft.com/vscode/devcontainers图像现在从devcontainers/images发布。

对于新的模板/功能,您现在可以通过遵循快速启动存储库之一的步骤进行自行发布并可选地使它们在工具中可见:模板快速启动,功能快速启动。无需在这里提交公关。

有关更多详细信息,您可以查看公告问题和最新的归档公告。


[弃用] vs代码 / github代码dev容器定义

Visual Studio Code Dev容器和GitHub代码空间
在云中,本地容器,远程计算机或WSL中打开代码,并利用VS代码的完整功能集。

重要说明:如上所述,该存储库不再活跃,将在2023年11月进行存档。

开发容器是一个运行的Docker容器,具有定义明确的工具/运行时堆栈及其先决条件。 VS Code Dev容器扩展名和GITHUB代码使您可以在本地或云托管的开发容器中打开或克隆代码,并利用VS代码的完整开发功能集。

该存储库包含一组DEV容器定义模板,以帮助您使用容器化的环境启动和运行。这些定义描述了适当的容器映像,用于启动容器的运行时参数以及应安装的VS代码扩展名。每个都提供一个容器配置文件(DevContainer.json)和其他所需的文件,您可以将其放入任何现有文件夹中,以作为容器化项目的起点。您可以使用添加开发容器配置文件...命令将一个添加到您的项目或codespace中。

如果您正在寻找完整的示例项目,则Vscode-remote-try-*存储库也可能很感兴趣。

将定义添加到项目或代码空间

  1. 要么为您的存储库创建代码空间,要么设置本地计算机,供Dev容器扩展程序,启动VS代码并打开项目文件夹。
  2. F1 ,然后选择“添加开发容器配置文件” ... DEV容器代码的命令。
  3. 从列表中选择一个建议的定义之一,或选择显示所有定义...以查看所有定义。您可能需要从预定义的容器配置定义中选择...如果您的项目具有现有Dockerfile或Docker组成的文件,则选择。回答出现的任何问题。
  4. 有关配置选项,请参见定义的读数。 .devcontainer/devcontainer.json文件中添加到您的文件夹中的.devcontainer/devcontainer。
  5. 运行远程容器:重新打开容器以在本地或代码空间使用:从代码空间内重建容器

将定义添加到存储库中

您可以通过在.devcontainer下添加文件来共享项目的自定义DEV容器定义。

任何然后在VS代码中打开您的存储库本地副本的任何人都将被提示重新打开容器中的文件夹,前提是安装了Dev容器扩展名。此外,每当有人在github代码空间中为存储库中创建代码空间时,都将使用此方法。

您的团队现在拥有一个一致的环境和工具链,新的贡献者或团队成员可以迅速提高生产力。首次贡献者将需要更少的指导,并且与环境设置有关的问题将更少。

示例项目

如果您想尝试已经具有开发容器的示例项目,请查看以下存储库之一:

  • 节点样本
  • Python样品
  • 去样品
  • Java样品
  • .NET核心样本
  • 生锈样品
  • C ++样本
  • PHP样本

内容

  • 容器 - 包含可重复使用的DEV容器定义。
  • 脚本图 - 包括该存储库中用于安装内容的脚本。在您自己的Dockerfiles中也很有用。
  • 容器 - 设备 - 包含用于创建您自己的容器定义或供电的模板。

常见问题

我可以重复使用现有的容器映像或Docker / Docker组成配置吗?

是的!如果您在项目/存储库中有Dockerfile或Docker撰写文件,请按照相同的步骤添加定义,并提示您选择Dockerfile或Docker撰写文件并从那里进行自定义。如果然后将这些文件提交给git存储库,则可以将其与github codespaces一起使用。如果愿意,也可以手动启动容器并附加到它。但是,请注意,许多图像将缺少您要使用的git之类的东西。脚本图书馆中有一些脚本,例如通用脚本,可以帮助将它们添加到您现有的Dockerfile或图像中。

devcontainer.json的目标是什么?

devcontainer.json文件类似于启动。json进行调试,但旨在启动(或附加到)开发容器。最简单的是,您需要的只是项目中的.devcontainer/devcontainer.json文件,该文件引用了图像,Dockerfile或Docker-compose.yml和一些属性。您可以在多种情况下调整它以便在各种情况下使用。

贡献和反馈

有问题或反馈吗?

作为Open Dev容器规范的工作的一部分,我们已经将本仓库的大部分内容迁移到了DevContainers Github org。

  • DEV容器规格维护者管理的功能现在处于DevContainers/功能中。
  • DEV容器规格维护器管理的定义/模板现在在DevContainers/模板中。
  • mcr.microsoft.com/devcontainers和mcr.microsoft.com/vscode/devcontainers图像现在从devcontainers/images发布。

结果,该存储库仅用于尚未由其所有者在其他地方迁移的社区定义。如果您是社区所有者,并希望我们在此处删除现有的定义,请随时提交公关行动!

对于新的模板/功能,您现在可以通过遵循快速启动存储库之一的步骤进行自行发布并可选地使它们在工具中可见:模板快速启动,功能快速启动。

您也可以:

  • 提供VS Code Dev容器扩展名或GitHub代码的反馈。
  • 讨论开发容器规格或加入Slack频道
  • 提出改进DEV容器规格存储库的建议。
  • 有助于开发容器CLI。

该项目采用了Microsoft开源的行为代码。有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系opencode@microsoft.com。

执照

版权(C)Microsoft Corporation。版权所有。
根据MIT许可获得许可。请参阅许可证。

有关此存储库生成的图像,请参见许可证和Note.txt。

下载源码

通过命令行克隆项目:

git clone https://github.com/microsoft/vscode-dev-containers.git