"Living" in the container
Who's this guy?
What are Dev Containers?
Dev containers are isolated environments that encapsulate all dependencies, tools, and configurations required for a development project.
Benefits of Using Dev Containers
- Consistent Development Environments
- Simplified Onboarding
- Isolation of Development Environments
- Integration with CI/CD Pipelines
- Cross-platform Development
- Remote Development (e.g. Codespaces)
Key Features
- There's a great cli
- You get your ci setup for free
- VS, VS Code, and IntelliJ have good extensions (It's the killer feature in VS Code imo)
- Great for trying new langs
Setting Up a Dev Container
{
"name": "Debian w/ Ruby",
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
"features": {
"ghcr.io/devcontainers/features/ruby:1": {
"version": "3.1"
}
}
}
Features
{
"name": "Ubuntu w/ Python",
"image": "ubuntu:latest",
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.12"
}
}
}