Adds all 8 ROOT 04 modules (why containers exist, images & containers, Docker CLI, container networking, container storage, Dockerfile & image build, Docker Compose, containers → Kubernetes) — 43 activities, using the nested Docker Engine Phase 6D built and tested. Modules 1, 2, and 8 are conceptual (no lab by design) — the honest bridge module (M8) explicitly names what Kubernetes adds beyond what this course already taught, without re-teaching Kubernetes itself. Adds 5 new hands-on Docker scenarios plus 2 MCQs, all against the real nested Docker Engine: docker-cli-basics (run/exec/inspect a real container), docker-container-networking (a genuine "works internally, unreachable from host" port-publishing failure, diagnosed and fixed by recreating the container with the correct `-p` flag), docker-container-storage (a real destroy/recreate cycle proving named-volume persistence, not just described), docker-build-image (a real Dockerfile, a real build, a real custom image run), and docker-compose-multiservice (a real two-service Compose application with a real published port). All tested end-to-end via the real scenario-validation API, including negative tests. Wires rootnode-containers-assessment (2 required + 4 random-draw scenarios) using the existing Phase 3B assessment engine. This completes the entire ROOT_ Foundations sequence (ROOT 01-04) — see docs/PHASE6E_ROOT_FOUNDATIONS_COMPLETION.md. Co-Authored-By: Claude Sonnet 5 <[email protected]>
1.1 KiB
1.1 KiB
Reflection: You Built a Real Image, Not Just Ran Someone Else's
Reflection questions
- Every image you used before this module (nginx, alpine) was built by someone else, from a Dockerfile you never saw. Does writing your own change how you think about those images?
- Which Dockerfile instruction do you expect to use the most in real application work?
Real Ops takeaway
A Dockerfile is executable documentation of exactly how an application's environment is built — the same reproducibility promise ROOT 03's version control made about code, now applied to environments. You've closed the loop this course opened with Module 1's "it works on my machine" problem: a Dockerfile means the environment itself is defined, versioned, and rebuildable identically anywhere, by anyone, forever.
This module is complete. Continue to the next module.
Instructor Notes
Discussion questions for a live classroom: question 1 is a good moment to reflect on the "black box → understood mechanism" arc of this entire course.
Approximate timing: 5-8 minutes live discussion; 5 minutes self-paced writing.