Dev Containers Setup Guide
Complete guide for the VS Code Dev Container environment
What Are Dev Containers?
Dev Containers use Docker to create a full-featured development environment inside a container. When you open this repository in a Dev Container:
- All required tools are pre-installed (Azure CLI, Bicep, PowerShell 7)
- VS Code extensions are automatically configured
- Git credentials are shared from your host machine
- The environment matches what other team members use
System Requirements
Docker Options
| Platform | Recommended | Alternatives |
|---|---|---|
| Windows 10/11 Pro | Docker Desktop with WSL 2 | Rancher Desktop, Podman |
| Windows 10/11 Home | Docker Desktop with WSL 2 (2004+) | — |
| macOS | Docker Desktop 2.0+ | Colima, Rancher Desktop |
| Linux | Docker CE/EE 18.06+ | Podman |
Hardware
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| CPU | 2 cores | 4+ cores |
| Disk | 10 GB free | 20 GB free |
Software
| Software | Version | Purpose |
|---|---|---|
| VS Code | Latest | IDE |
| Dev Containers Extension | Latest | Container integration |
| Docker | See above | Container runtime |
| Git | 2.30+ | Version control |
Installation Steps
Step 1: Install Docker
Windows (with WSL 2)
# Install WSL 2 (if not already installed)
wsl --install
# Then download and install Docker Desktop
# https://www.docker.com/products/docker-desktop
# Enable WSL 2 backend in Docker Desktop settings
macOS
- Download Docker Desktop for Mac
- Start Docker Desktop from Applications
- Wait for "Docker Desktop is running"
Linux
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Log out and back in for group changes
# Verify
docker --version
Step 2: Install VS Code Extension
code --install-extension ms-vscode-remote.remote-containers
Or install from Extensions (Ctrl+Shift+X) → search "Dev Containers".
Step 3: Open in Dev Container
git clone https://github.com/jonathan-vella/azure-agentic-infraops.git
cd azure-agentic-infraops
code .
Press F1 → Dev Containers: Reopen in Container
First build takes 2-5 minutes. Subsequent opens are instant.
Step 4: Verify Setup
az --version && bicep --version && pwsh --version
Alternative Docker Options
Rancher Desktop (Free Docker Desktop Alternative)
- Download from rancherdesktop.io
- Choose "dockerd (moby)" as runtime
- Works with VS Code Dev Containers extension
Colima (macOS Only)
brew install colima docker
colima start
Podman (Linux/macOS)
# macOS
brew install podman
podman machine init
podman machine start
# Linux
sudo apt install podman
Configure VS Code: "dev.containers.dockerPath": "podman"
What's Included
The Dev Container includes:
| Category | Tools |
|---|---|
| Azure | Azure CLI 2.50+, Bicep CLI 0.30+, Azure Pricing MCP |
| Terraform | Terraform (latest), tfsec, HashiCorp Terraform MCP Server |
| PowerShell | PowerShell 7+, Az modules |
| Python | Python 3.13+, diagrams library, graphviz |
| Node.js | Node LTS+, npm, markdownlint |
| VS Code Extensions | 27+ extensions (Bicep, Terraform, Copilot, Azure, etc.) |
Auto-updates on start:
terraform-mcp-server, Azure Pricing MCP, npm deps,markdownlint-cli2,checkov,ruff, anddiagramsare refreshed automatically on every container start viapost-start.sh. Heavy tools (PowerShell modules, system packages) are installed once at build time.
Troubleshooting
Container Won't Start
# Check Docker is running
docker ps
# Rebuild without cache
# F1 → Dev Containers: Rebuild Container Without Cache
Port Conflicts
Stop other containers using the same ports:
docker ps
docker stop <container-id>
Slow Performance (Windows/macOS)
- Increase Docker Desktop memory allocation (Settings → Resources)
- Use WSL 2 backend on Windows (faster than Hyper-V)
- Close unnecessary applications
Extensions Not Loading
# Force extension reinstall
# F1 → Developer: Reload Window