Gitpod fully supports Development Containers, allowing you to standardize development environments across your team. Define your setup in a devcontainer.json
file to ensure consistent tools, dependencies, and configurations for all developers.
Using Dev Containers with Gitpod provides several advantages:
Place your devcontainer.json
file in one of these standard locations:
.devcontainer/devcontainer.json
.devcontainer.json
This configuration:
You can manage multiple Dev Container configurations using Gitpod’s project feature. This allows you to define different environments for:
If you’re already using a .gitpod.yml
file, Gitpod provides tools to convert your existing configuration to the Dev Container format. See our migration guide for step-by-step instructions. Dev Containers offer a more standardized approach that works across multiple platforms and tools.
When using Dev Containers with Gitpod, be aware of these limitations:
Microsoft provides well-maintained Dev Container base images for popular development stacks:
mcr.microsoft.com/devcontainers/base:ubuntu
- Ubuntu base imagemcr.microsoft.com/devcontainers/javascript-node
- Node.js developmentmcr.microsoft.com/devcontainers/python
- Python developmentmcr.microsoft.com/devcontainers/dotnet
- .NET developmentmcr.microsoft.com/devcontainers/java
- Java developmentmcr.microsoft.com/devcontainers/go
- Go developmentFor more complex setups, you can define multiple containers using Docker Compose:
Dev Container Features are self-contained, shareable units of installation code and configuration that let you quickly add tooling, runtimes, or libraries to your development container.
You can add features to your Dev Container by adding them to the features
section of your devcontainer.json
file:
Gitpod works well with many Dev Container Features, especially official ones that are designed with remote development environments in mind. Linux-based runners generally provide best compatibility with most Dev Container Features. Here’s what you should know:
If your Dev Container fails to build:
Check the Gitpod console for specific error messages
Verify that all specified features are compatible
Ensure image versions are correctly specified
Try rebuilding in recovery mode to debug the issue
Gitpod fully supports Development Containers, allowing you to standardize development environments across your team. Define your setup in a devcontainer.json
file to ensure consistent tools, dependencies, and configurations for all developers.
Using Dev Containers with Gitpod provides several advantages:
Place your devcontainer.json
file in one of these standard locations:
.devcontainer/devcontainer.json
.devcontainer.json
This configuration:
You can manage multiple Dev Container configurations using Gitpod’s project feature. This allows you to define different environments for:
If you’re already using a .gitpod.yml
file, Gitpod provides tools to convert your existing configuration to the Dev Container format. See our migration guide for step-by-step instructions. Dev Containers offer a more standardized approach that works across multiple platforms and tools.
When using Dev Containers with Gitpod, be aware of these limitations:
Microsoft provides well-maintained Dev Container base images for popular development stacks:
mcr.microsoft.com/devcontainers/base:ubuntu
- Ubuntu base imagemcr.microsoft.com/devcontainers/javascript-node
- Node.js developmentmcr.microsoft.com/devcontainers/python
- Python developmentmcr.microsoft.com/devcontainers/dotnet
- .NET developmentmcr.microsoft.com/devcontainers/java
- Java developmentmcr.microsoft.com/devcontainers/go
- Go developmentFor more complex setups, you can define multiple containers using Docker Compose:
Dev Container Features are self-contained, shareable units of installation code and configuration that let you quickly add tooling, runtimes, or libraries to your development container.
You can add features to your Dev Container by adding them to the features
section of your devcontainer.json
file:
Gitpod works well with many Dev Container Features, especially official ones that are designed with remote development environments in mind. Linux-based runners generally provide best compatibility with most Dev Container Features. Here’s what you should know:
If your Dev Container fails to build:
Check the Gitpod console for specific error messages
Verify that all specified features are compatible
Ensure image versions are correctly specified
Try rebuilding in recovery mode to debug the issue