{"id":13405916,"url":"https://github.com/microsoft/vscode-dev-containers","last_synced_at":"2025-09-29T02:31:42.812Z","repository":{"id":37444609,"uuid":"156217558","full_name":"microsoft/vscode-dev-containers","owner":"microsoft","description":"NOTE: Most of the contents of this repository have been migrated to the new devcontainers GitHub org (https://github.com/devcontainers). See https://github.com/devcontainers/template-starter and https://github.com/devcontainers/feature-starter for information on creating your own!","archived":true,"fork":false,"pushed_at":"2023-11-30T01:20:08.000Z","size":14225,"stargazers_count":4720,"open_issues_count":221,"forks_count":1398,"subscribers_count":106,"default_branch":"main","last_synced_at":"2024-11-14T19:40:34.244Z","etag":null,"topics":["codespaces","containers","dev-containers","devcontainer","devcontainers","docker","github","github-codespaces","remote","remote-development","visual-studio-code","visual-studio-codespaces","vs","vscode"],"latest_commit_sha":null,"homepage":"https://aka.ms/vscode-remote","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2018-11-05T12:52:35.000Z","updated_at":"2024-11-14T15:03:57.000Z","dependencies_parsed_at":"2023-02-09T22:01:17.308Z","dependency_job_id":"4ef3441b-06a9-440b-862e-0f4e36dddc98","html_url":"https://github.com/microsoft/vscode-dev-containers","commit_stats":null,"previous_names":[],"tags_count":252,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fvscode-dev-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fvscode-dev-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fvscode-dev-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fvscode-dev-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/vscode-dev-containers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234583683,"owners_count":18856280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codespaces","containers","dev-containers","devcontainer","devcontainers","docker","github","github-codespaces","remote","remote-development","visual-studio-code","visual-studio-codespaces","vs","vscode"],"created_at":"2024-07-30T19:02:15.853Z","updated_at":"2025-09-29T02:31:37.113Z","avatar_url":"https://github.com/microsoft.png","language":"Shell","readme":"**IMPORTANT NOTE: Dev containers have a new, expanded home in the [dev containers GitHub org](https://github.com/devcontainers)! We're so excited to connect with you there. To learn more, you can check out our [migration announcement](https://github.com/microsoft/vscode-dev-containers/issues/1762).**\n\n**This repository is no longer active and was archived in November 2023. We've migrated most of the contents of this repo to the [devcontainers GitHub org](https://github.com/devcontainers), as part of the work on the [open Dev Container specification](https://containers.dev).**\n\n- **Features managed by the Dev Container spec maintainers (such as the VS Code team) are now in [devcontainers/features](https://github.com/devcontainers/features).**\n- **Definitions/Templates managed by the Dev Container spec maintainers are now in [devcontainers/templates](https://github.com/devcontainers/templates).**\n- **`mcr.microsoft.com/devcontainers` and `mcr.microsoft.com/vscode/devcontainers` images are now published from [devcontainers/images](https://github.com/devcontainers/images).**\n\n**For new Templates/Features, you can now self-publish and optionally make them visible in-tool by following the steps one of the quick start repositories: [Templates quick start](https://github.com/devcontainers/template-starter), [Features quick start](https://github.com/devcontainers/feature-starter). No need to submit a PR here anymore.**\n\n**For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589) and latest [archiving announcement](https://github.com/microsoft/vscode-dev-containers/issues/1762).**\n\n---\n\n# [Deprecated] VS Code / GitHub Codespaces Dev Container Definitions\n\n\u003ctable style=\"width: 100%; border-style: none;\"\u003e\u003ctr\u003e\n\u003ctd style=\"width: 140px; text-align: center;\"\u003e\u003ca href=\"https://aka.ms/vscode-remote/download/extension\"\u003e\u003cimg width=\"128px\" src=\"https://microsoft.github.io/vscode-remote-release/images/remote-extensionpack.png\" alt=\"Visual Studio Code logo\"/\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\n\u003cstrong\u003eVisual Studio Code Dev Containers and GitHub Codespaces\u003c/strong\u003e\u003cbr /\u003e\n\u003ci\u003eOpen your code in the cloud, in a local container, on a remote machine, or in WSL and take advantage of VS Code's full feature set.\n\u003c/td\u003e\n\u003c/tr\u003e\u003c/table\u003e\n\n**IMPORTANT NOTE: As noted in the section above, this repository is no longer active and will be archived in November 2023.**\n\nA **development container** is a running [Docker](https://www.docker.com) container with a well-defined tool/runtime stack and its prerequisites. The [VS Code Dev Containers](https://aka.ms/vscode-remote/download/containers) extension and [GitHub Codespaces](https://github.com/features/codespaces) allow you to open or clone code in a local or cloud-hosted Dev Container and take advantage of VS Code's full development feature set.\n\nThis repository contains a set of **Dev Container definition templates** to help get you up and running with a containerized environment. The definitions describe the appropriate container image, runtime arguments for starting the container, and VS Code extensions that should be installed. Each provides a container configuration file (`devcontainer.json`) and other needed files that you can drop into any existing folder as a starting point for containerizing your project. You can use the **Add Development Container Configuration Files...** command to add one to your project or codespace.\n\nThe [vscode-remote-try-*](https://github.com/search?q=org%3Amicrosoft+vscode-remote-try-\u0026type=Repositories) repositories may also be of interest if you are looking for complete sample projects.\n\n## Adding a definition to a project or codespace\n  \n  1. Either [create a codespace for your repository](https://aka.ms/ghcs-open-codespace) or [set up your local machine](https://aka.ms/vscode-remote/containers/getting-started) for use with the Dev Containers extension, start VS Code, and open your project folder.\n  2. Press \u003ckbd\u003eF1\u003c/kbd\u003e, and select the **Add Development Container Configuration Files...** command for **Dev Containers** or **Codespaces**.\n  3. Pick one of the recommended definitions from the list or select **Show All Definitions...** to see all of them. You may need to choose the **From a predefined container configuration definition...** option if your project has an existing Dockerfile or Docker Compose file. Answer any questions that appear.\n  4. See the definition's `README` for configuration options. A link is available in the `.devcontainer/devcontainer.json` file added to your folder.\n  5. Run **Remote-Containers: Reopen in Container** to use it locally, or **Codespaces: Rebuild Container** from within a codespace.\n\n### Adding a definition to a repository\n\nYou can share a customized Dev Container definitions for your project by adding the files under `.devcontainer` to source control.\n\nAnyone who then opens a local copy of your repo in VS Code will be prompted to reopen the folder in a container, provided they have the [Dev Containers](https://aka.ms/vscode-remote/download/containers) extension installed. Additionally, this will be used whenever someone creates a codespace in [GitHub Codespaces](https://github.com/features/codespaces) for the repository.\n\nYour team now has a consistent environment and tool-chain and new contributors or team members can be productive quickly. First-time contributors will require less guidance and there will be fewer issues related to environment setup.\n\n## Sample projects\n\nIf you want to try a sample project which already has a Dev Container, check out one of the following repositories:\n\n- [Node Sample](https://github.com/Microsoft/vscode-remote-try-node)\n- [Python Sample](https://github.com/Microsoft/vscode-remote-try-python)\n- [Go Sample](https://github.com/Microsoft/vscode-remote-try-go)\n- [Java Sample](https://github.com/Microsoft/vscode-remote-try-java)\n- [.NET Core Sample](https://github.com/Microsoft/vscode-remote-try-dotnetcore)\n- [Rust Sample](https://github.com/microsoft/vscode-remote-try-rust)\n- [C++ Sample](https://github.com/microsoft/vscode-remote-try-cpp)\n- [PHP Sample](https://github.com/microsoft/vscode-remote-try-php)\n\n## Contents\n\n- [`containers`](containers) - Contains reusable Dev Container definitions.\n- [`script-library`](script-library) - Includes scripts used in this repository to install things. Also useful in your own Dockerfiles.\n- [`container-templates`](container-templates) - Contains templates for creating your own container definitions or to [contribute back](CONTRIBUTING.md#contributing-dev-container-definitions).\n\n## Common Questions\n\n### Can I just reuse an existing container image or Docker / Docker Compose configuration?\n\nYes! If you have a Dockerfile or Docker Compose file in your project/repository, follow the [same steps to add a definition](#adding) and you'll be prompted to select a Dockerfile or Docker Compose file and customize from there. If you then commit these files to a Git repository, you can use it with [GitHub Codespaces](https://github.com/features/codespaces) as well. If you prefer, you can also start up the container manually and [attach to it](https://aka.ms/vscode-remote/containers/attach). However, note that many images will be missing things like `git` that you will want to use. There are scripts in the [script-library](script-library) like the [common script](script-library/docs/common.md) that can help adding these to your existing Dockerfile or image.\n\n### What is the goal of `devcontainer.json`?\n\nA `devcontainer.json` file is similar to `launch.json` for debugging, but designed to launch (or attach to) a development container instead. At its simplest, all you need is a `.devcontainer/devcontainer.json` file in your project that references an image, `Dockerfile`, or `docker-compose.yml`, and a few properties. You can [adapt it for use](https://aka.ms/vscode-remote/containers/folder-setup) in a wide variety of situations.\n\n## Contributing and feedback\n\nHave a question or feedback?\n\n We've migrated most of the contents of this repo to the [devcontainers GitHub org](https://github.com/devcontainers), as part of the work on the [open Dev Container specification](https://containers.dev).\n\n- Features managed by the Dev Container spec maintainers are now in [devcontainers/features](https://github.com/devcontainers/features).\n- Definitions/Templates managed by the Dev Container spec maintainers are now in [devcontainers/templates](https://github.com/devcontainers/templates).\n- `mcr.microsoft.com/devcontainers` and `mcr.microsoft.com/vscode/devcontainers` images are now published from [devcontainers/images](https://github.com/devcontainers/images).\n\nAs a result, this repository only used for community definitions that have not been migrated elsewhere by their owners. If you are a community owner and want us to remove an existing definition here, feel free to submit a PR to do so!\n\nFor new Templates/Features, you can now self-publish and optionally make them visible in-tool by following the steps one of the quick start repositories: [Templates quick start](https://github.com/devcontainers/template-starter), [Features quick start](https://github.com/devcontainers/feature-starter).\n\nYou can also:\n\n- Provide feedback for the [VS Code Dev Containers](https://github.com/Microsoft/vscode-remote-release/blob/main/CONTRIBUTING.md) extension or [GitHub Codespaces](https://github.com/github/feedback/discussions/categories/codespaces).\n- Discuss the [Dev Container spec](https://github.com/orgs/devcontainers/discussions) or [join the Slack channel](https://github.com/orgs/devcontainers/discussions/3)\n- Make proposals for improvments to the [Dev Container spec repository](https://github.com/devcontainers/spec).\n- Contribute to the [Dev Container CLI](https://github.com/devcontainers/cli).\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved. \u003cbr /\u003e\nLicensed under the MIT License. See [LICENSE](LICENSE).\n\nFor images generated from this repository, see [LICENSE](https://github.com/microsoft/containerregistry/blob/main/legal/Container-Images-Legal-Notice.md) and [NOTICE.txt](NOTICE.txt).\n","funding_links":[],"categories":["Shell","Tools for Self-Hosting","docker","visual-studio-code","Dockerfile"],"sub_categories":["Containers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fvscode-dev-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fvscode-dev-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fvscode-dev-containers/lists"}