Project Icon

vscode-dev-containers

简化开发流程的容器化环境模板

vscode-dev-containers是一个开源项目,提供基于Docker的开发容器配置模板。它支持VS Code和GitHub Codespaces,包含多种编程语言和工具的容器定义。该项目简化了容器化开发环境的搭建过程,有助于团队共享统一环境。核心功能现已迁移至devcontainers组织继续维护。

重要提示:开发容器现已迁移至 dev containers GitHub 组织!我们非常高兴能在那里与您互动。欲了解更多信息,请查看我们的迁移公告

本仓库已不再活跃,并于 2023 年 11 月归档。作为开放开发容器规范工作的一部分,我们已将本仓库的大部分内容迁移至 devcontainers GitHub 组织

对于新的模板/功能,您现在可以按照以下快速入门仓库的步骤进行自行发布,并可选择使其在工具中可见:模板快速入门功能快速入门。不再需要在此提交 PR。

欲了解更多详情,您可以查看公告议题和最新的归档公告


[已弃用] VS Code / GitHub Codespaces 开发容器定义

Visual Studio Code logo Visual Studio Code 开发容器和 GitHub Codespaces
在云端、本地容器、远程机器或 WSL 中打开您的代码,并充分利用 VS Code 的全部功能。

重要提示:如上文所述,本仓库已不再活跃,将于 2023 年 11 月归档。

开发容器是一个运行中的 Docker 容器,具有明确定义的工具/运行时栈及其先决条件。VS Code 开发容器扩展和 GitHub Codespaces 允许您在本地或云托管的开发容器中打开或克隆代码,并利用 VS Code 的全部开发功能集。

本仓库包含一组开发容器定义模板,帮助您快速启动容器化环境。这些定义描述了适当的容器镜像、启动容器的运行时参数以及应安装的 VS Code 扩展。每个定义提供了一个容器配置文件(devcontainer.json)和其他所需文件,您可以将其添加到任何现有文件夹中,作为容器化项目的起点。您可以使用**添加开发容器配置文件...**命令将其添加到您的项目或代码空间中。

如果您正在寻找完整的示例项目,vscode-remote-try-* 仓库可能也会对您有所帮助。

向项目或代码空间添加定义

  1. 要么为您的仓库创建代码空间,要么设置本地机器以使用开发容器扩展,启动 VS Code,并打开您的项目文件夹。
  2. F1,为开发容器代码空间选择**添加开发容器配置文件...**命令。
  3. 从列表中选择一个推荐的定义,或选择**显示所有定义...以查看全部。如果您的项目已有 Dockerfile 或 Docker Compose 文件,可能需要选择从预定义容器配置定义...**选项。回答出现的任何问题。
  4. 查看定义的 README 以了解配置选项。链接可在添加到您文件夹的 .devcontainer/devcontainer.json 文件中找到。
  5. 运行Remote-Containers: Reopen in Container以在本地使用,或在代码空间中运行Codespaces: Rebuild Container

向仓库添加定义

您可以通过将 .devcontainer 下的文件添加到源代码控制中来共享项目的自定义开发容器定义。

只要安装了开发容器扩展,任何人在 VS Code 中打开您仓库的本地副本时都会被提示在容器中重新打开文件夹。此外,每当有人在 GitHub Codespaces 中为该仓库创建代码空间时,都会使用这个定义。

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

示例项目

如果您想尝试已有开发容器的示例项目,请查看以下仓库:

内容

  • containers - 包含可重用的开发容器定义。
  • script-library - 包含本仓库中用于安装各种工具的脚本。在您自己的 Dockerfile 中也很有用。
  • container-templates - 包含用于创建您自己的容器定义或贡献的模板。

常见问题

我可以直接重用现有的容器镜像或 Docker / Docker Compose 配置吗?

是的!如果您的项目/仓库中有 Dockerfile 或 Docker Compose 文件,请按照相同的步骤添加定义,系统会提示您选择 Dockerfile 或 Docker Compose 文件并进行自定义。如果您将这些文件提交到 Git 仓库,也可以将其用于 GitHub Codespaces。如果您愿意,也可以手动启动容器并连接到它。但请注意,许多镜像可能缺少您想要使用的 git 等工具。script-library 中有一些脚本,比如 common script,可以帮助您将这些工具添加到现有的 Dockerfile 或镜像中。

devcontainer.json 的目的是什么?

devcontainer.json 文件类似于用于调试的 launch.json,但设计用于启动(或连接到)开发容器。最简单的情况下,您只需在项目中创建一个 .devcontainer/devcontainer.json 文件,引用镜像、Dockerfiledocker-compose.yml,并设置几个属性即可。您可以根据需要进行调整以适应各种情况。

贡献和反馈

有问题或反馈吗?

我们已将此仓库的大部分内容迁移到 devcontainers GitHub 组织,作为开放 Dev Container 规范工作的一部分。

因此,此仓库仅用于尚未被其所有者迁移到其他地方的社区定义。如果您是社区所有者,想要我们删除这里的现有定义,请随时提交 PR 来执行此操作!

对于新的模板/功能,您现在可以通过遵循以下快速入门仓库中的步骤进行自行发布,并可选择使其在工具中可见:模板快速入门功能快速入门

您还可以:

本项目已采用 Microsoft 开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或 联系 opencode@microsoft.com 获取任何其他问题或意见。

许可证

版权所有 (c) Microsoft Corporation。保留所有权利。
根据 MIT 许可证授权。请参阅 LICENSE

对于从此仓库生成的镜像,请参阅 LICENSENOTICE.txt

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号