RepoMicrosoftMicrosoftpublished Jan 23, 2025seen 1w

microsoft/vscode-containers

TypeScript

Open original ↗

Captured source

source ↗
published Jan 23, 2025seen 1wcaptured 1whttp 200method plain

microsoft/vscode-containers

Description: Container Tools Extension for Visual Studio Code

Language: TypeScript

License: NOASSERTION

Stars: 124

Forks: 70

Open issues: 69

Created: 2025-01-23T18:05:18Z

Pushed: 2026-06-13T01:27:38Z

Default branch: main

Fork: no

Archived: no

README:

Container Tools for Visual Studio Code

The Container Tools extension makes it easy to build, manage, and deploy containerized applications from Visual Studio Code. It also provides one-click debugging of Node.js, Python, and .NET inside a container.

![Container Tools extension overview](resources/readme/overview.gif)

Check out the [Working with containers](https://aka.ms/AA7arez) topic on the Visual Studio Code documentation site to get started.

Why do I have this extension?

If you didn't install it directly, you probably got it as part of the Docker Extension Pack. The extension pack is optional and can be uninstalled at any time. The Container Tools extension replaces the language service, container management, and debugging functionality previously provided by the Docker extension. See here for additional information.

Installation

Install Docker on your machine and add it to the system path.

On Linux, you should enable rootless Docker and set the generated Docker context to "rootless" (more secure) or enable Docker CLI for the non-root user account (less secure) that will be used to run VS Code.

To install the extension, open the Extensions view, search for container tools to filter results and select the Container Tools extension authored by Microsoft.

Overview of the extension features

Editing Docker files

Container Tools provides basic IntelliSense when editing your Dockerfile and compose.yaml files including completions and syntax help for common commands.

> Note: Docker DX is the official language service from Docker that provides more advanced IntelliSense for Docker, Compose, and Bake configuration files. This extension is recommended to be installed alongside Container Tools for enhanced editing support.

![IntelliSense for Dockerfiles](resources/readme/dockerfile-intellisense.png)

In addition, you can use the Problems panel (Ctrl+Shift+M on Windows/Linux, Shift+Command+M on Mac) to view common errors for Dockerfile and compose.yaml files.

Generating Docker files

You can add Docker files to your workspace by opening the Command Palette (F1) and using Containers: Add Docker Files to Workspace command. The command will generate a Dockerfile and .dockerignore file and add them to your workspace. The command will also ask you if you want to add Docker Compose files as well, but this is optional.

The extension can scaffold Docker files for most popular development languages (C#, Node.js, Python, Ruby, Go, and Java) and customizes the generated Docker files accordingly. When these files are created, we also create the necessary artifacts to provide first-class debugging support for Node.js, Python, and .NET (C#).

Container Explorer

The Container Tools extension contributes a Container Explorer view to VS Code. The Container Explorer lets you examine and manage container-related assets: containers, images, volumes, networks, and container registries.

The right-click menu provides access to commonly used commands for each type of asset.

![Container Explorer context menu](resources/readme/container-view-context-menu.gif)

You can rearrange the view panes by dragging them up or down with a mouse and use the context menu to hide or show them.

![Customize Container Explorer](resources/readme/container-view-rearrange.gif)

Container commands

Many of the most common container commands are built right into the Command Palette:

![Container commands](resources/readme/command-palette.png)

You can run container commands to manage images, networks, volumes, container registries, and Docker Compose. In addition, the Containers: Prune System command will remove stopped containers, dangling images, and unused networks and volumes.

Docker Compose

Docker Compose lets you define and run multi-container applications. Our Compose Language Service in the Container Tools extension gives you IntelliSense and tab completions when authoring compose.yaml files. Press Ctrl+Space to see a list of valid Compose directives.

![Compose IntelliSense](resources/readme/tab-completions.gif)

We also provide tooltips when you hover over a Compose YAML attribute.

![Compose Tooltips](resources/readme/hover-support.png)

While Compose Up allows you to run all of your services at once, our new feature Compose Up - Select Services lets you select any combination of the services you want to run.

![Compose Up - Select Subset](resources/readme/select-subset.gif)

Once your Compose Up command completes, navigate to the Container Explorer to view your services as a Compose Group. This allows you to start, stop, and view the logs of each service as a group.

![Compose Groups](resources/readme/compose-group.png)

Using image registries

You can display the content and push, pull, or delete images from Docker Hub and Azure Container Registry:

![Azure Container Registry content](resources/readme/container-registry.png)

An image in an Azure Container Registry can be deployed to Azure App Service directly from VS Code. See Deploy images to Azure App Service to get started. For more information about how to authenticate to and work with registries, see Using container registries.

Debugging services running inside a container...

Excerpt shown — open the source for the full document.

Notability

notability 4.0/10

Routine dev tool repo, modest traction, not AI-specific.