0.2 The learning flow
Three phases, and each one builds the vocabulary the next one assumes:
PHASE 1 (OS concepts) teaches you what a "process," "page fault," or
| "file descriptor" actually IS
v
PHASE 2 (Linux) teaches you the COMMANDS that ask the kernel
| about those exact things (`ps`, `free`, `lsof`)
v
PHASE 3 (Containers) shows you that a "container" is just Linux
| primitives from Phase 1, used in a clever way
| -- and Docker/Kubernetes commands are, again,
| just asking the kernel (via a daemon) to do
v things you already understand.
PART 20 (Go on Linux) has you write the programs that make those
primitives visible -- and build a container
runtime yourself (optional, needs basic Go).
Skipping Phase 1 and going straight to docker run is possible — plenty of
engineers do exactly that — but "why did my container get OOM-killed" or "why
is this pod stuck in CrashLoopBackOff" stops being mysterious only once you
know what's underneath. That's the whole bet this guide makes: go down one
level, and everything above it gets easier to debug, not harder to learn.
The loop for every chapter:
READ the concept -> see the REAL-WORLD example -> TRY IT on your own
box -> answer the CHECK YOURSELF questions -> move on
Don't skip "try it yourself." Reading about fork() is not the same as
watching a process count double.