Skip to content

stoic-dad/devcontainer-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Portable DevContainer Lab – Architecture & Documentation

A platform-agnostic, reproducible DevContainer environment designed for stability, portability, and developer experience.

This repo serves as a documentation hub for the project β€” architecture diagram + build rationale β€” with the implementation stored in a private repository.


✨ Why this project exists

I set out to build a reliable, reproducible DevContainer lab to support my DevOps, DevSecOps, and Platform Engineering learning journey.

Along the way, I encountered:

  • 🟠 ARM architecture mirror failures
  • 🟠 Inconsistent apt-get package installs
  • 🟠 Cross-platform (x86 vs ARM) Docker build issues
  • 🟠 VS Code DevContainer attachment quirks

Instead of patching individual failures, I paused and asked:

🧠 How do I design a stable platform? 🧠 How do I ensure this works across multiple developer machines? 🧠 How do I build once, and reuse everywhere?

This mindset shift led to:

βœ… Swapping to a Microsoft DevContainer base image for ARM stability
βœ… Stripping fragile dependencies from Dockerfile
βœ… Validating reproducibility across 2 laptop's (both M1 ARM)
βœ… Version-controlling a clean baseline in a private repo
βœ… Creating this architecture documentation for future maintainers


πŸ—ΊοΈ Architecture Diagram

DevContainer Architecture

Key flow:

  1. Clone repo β†’ local project folder
  2. Bind mount β†’ /workspace inside DevContainer runtime
  3. Docker Engine runs DevContainer image
  4. VS Code β†’ DevContainers extension β†’ remote attach β†’ running container

πŸ› οΈ Technologies

  • VS Code + DevContainers Extension
  • Docker Engine
  • DevContainer Image: mcr.microsoft.com/devcontainers/base:ubuntu-22.04
  • Portable developer workstation
  • GitHub (private implementation repo)

πŸ”’ Codebase

The implementation (Dockerfile, .devcontainer configs, etc.) is stored in a private repo.

This repo intentionally contains only documentation and architecture artifacts.


πŸ“’ Credits

Thanks to the open source DevContainers, Docker, and VS Code communities for enabling portable developer environments.


About

Architecture and documentation for a portable DevContainer lab for ARM-based development platforms

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors