How jay-withers/dev-containers works
This repository provides Azure-focused VS Code dev container images. A developer selects an image in a consuming repo, which obtains it from GHCR; the specialized images extend the shared base. Inside the container, the bundled tools support infrastructure work, and Docker CLI access can reach the host daemon through a mounted socket, with a startup helper handling host-dependent permissions. The README documents these capabilities and image relationships; sampled source only covered commitlint configuration, so internal wiring beyond documented behavior is not inferred.
Main entry points: base/Dockerfile Base image · terraform/Dockerfile Terraform image · k8s/Dockerfile Kubernetes image · docker-socket-setup.sh Socket setup helper
Components 12
Image variants
- Base image
images/base/Dockerfile - Terraform image
images/terraform/Dockerfile - Kubernetes image
images/k8s/Dockerfile
Container runtime
- Azure development tools
images/base/Dockerfile - Terraform tools
images/terraform/Dockerfile - Kubernetes tools
images/k8s/Dockerfile - Socket setup helper
images/base/docker-socket-setup.sh
Other components
- Developer
- Consuming repo
- GitHub Container Registry
- Host Docker daemon
- VS Code extensions
Connections 14
- Developer → Consuming repo: configures image
- Consuming repo → GitHub Container Registry: pulls image
- GitHub Container Registry → Base image: serves image
- GitHub Container Registry → Terraform image: serves image
- GitHub Container Registry → Kubernetes image: serves image
- Base image → Terraform image: base layer
- Base image → Kubernetes image: base layer
- Base image → Azure development tools: includes
- Terraform image → Terraform tools: adds
- Kubernetes image → Kubernetes tools: adds
- Consuming repo → VS Code extensions: receives extensions
- Azure development tools → Host Docker daemon: Docker CLI access
- Host Docker daemon → Socket setup helper: mounted socket
- Socket setup helper → Host Docker daemon: proxies if needed