Dev Containers
Dev containers allow developers to define their development environmentas code using theDev Container specification.Configuration lives in adevcontainer.json file alongside source code,enabling consistent, reproducible environments.
By adopting dev containers, organizations can:
- Standardize environments: Eliminate "works on my machine" issues whilestill allowing developers to customize their tools within approved boundaries.
- Scale efficiently: Let developers maintain their own environmentdefinitions, reducing the burden on platform teams.
- Improve security: Use hardened base images and controlled packageregistries to enforce security policies while enabling developer self-service.
Coder supports two approaches for running dev containers. Choose based on yourinfrastructure and workflow requirements.
Dev Containers Integration
The Dev Containers Integration uses the standard@devcontainers/cli and Dockerto run containers inside your workspace. This is the recommended approach formost use cases.
Best for:
- Workspaces with Docker available (Docker-in-Docker or mounted socket)
- Dev container management in the Coder dashboard (discovery, status, rebuild)
- Multiple dev containers per workspace
Configure Dev Containers Integration
For user documentation, see theDev Containers user guide.
Envbuilder
Envbuilder transforms the workspace image itself from adevcontainer.json,rather than running containers inside the workspace. It does not requirea Docker daemon.
Best for:
- Environments where Docker is unavailable or restricted
- Infrastructure-level control over image builds, caching, and security scanning
- Kubernetes-native deployments without privileged containers


