Full-featured .NET development container using the workBenches layered image system.
Layer 0: workbench-base:latest — Ubuntu 24.04, system tools, AI CLIs
Layer 1: devbench-base:latest — Python, Node.js, dev tools
Layer 2: dotnet-bench:latest — .NET SDK, cloud CLIs, DB clients (this image)
Layer 3: dotnet-bench:{username} — User account (built automatically)
Runtime: devcontainer.json mounts — Credentials, shell config, AI auth
- .NET 10 SDK, runtime, ASP.NET Core runtime
- Workloads: Aspire, wasm-tools (Blazor WASM AOT)
- EF Core: dotnet-ef
- Diagnostics: dotnet-trace, dotnet-dump, dotnet-counters, dotnet-monitor
- Code quality: dotnet-sonarscanner, coverlet, dotnet-stryker, dotnet-format
- Scaffolding: dotnet-aspnet-codegenerator, libman
- Utilities: dotnet-outdated, dotnet-retire, dotnet-depends, dotnet-script
- Web: httprepl, Swashbuckle CLI
- Versioning: GitVersion, ReportGenerator
- Azure CLI (includes Bicep)
- AWS CLI v2
- Docker CLI + Docker Compose (client only — host socket mount)
- kubectl (Kubernetes 1.32)
- Helm 3
- PostgreSQL (
psql) - MySQL (
mysql) - SQLite (
sqlite3) - Redis (
redis-cli) - MSSQL (
sqlcmdvia mssql-tools18)
- Cross-platform PowerShell (from Microsoft repo)
- htop, tree, less
# Build Layer 2 (requires devbench-base:latest)
docker build -t dotnet-bench:latest -f Dockerfile.layer2 .
# Or use the build script
./scripts/build-layer2.sh- Open this folder in VS Code
- Click "Reopen in Container"
- Layer 3 builds automatically via
ensure-layer3.sh
dotnet --version # .NET 10 SDK
dotnet ef --version # EF Core tools
dotnet-trace --version # Diagnostics
az --version # Azure CLI
aws --version # AWS CLI
docker --version # Docker client
kubectl version --client # Kubernetes
helm version # Helm
psql --version # PostgreSQL client
sqlcmd --version # MSSQL client
pwsh --version # PowerShell# .NET
dn / dnr / dnb / dnt / dnw # dotnet run/build/test/watch
dnef / dna / dnrs / dnnew # dotnet ef/add/restore/new
# Docker
d / dc / dps / di # docker / compose / ps / images
# Kubernetes
k / kgp / kgs / kgd # kubectl get pods/services/deployments5000— .NET HTTP5001— .NET HTTPS7071— Azure Functions8080— Dev Server3000— Frontend dev4200— Angular dev
Pre-configured: C# Dev Kit, Blazor WASM Companion, PowerShell, Azure Functions, Docker, Copilot, GitLens, Playwright, REST Client, NuGet Package Manager, and more.