01
Container Concept
Meeting the problem of dependency and environment difference with isolation: comparing the isolation level and cost of a physical server, a virtual machine, and a container; what each of namespaces, control groups, and the union filesystem separates; the portability promise carried by runtime and image format specifications; and the resource a container holds through the steps of creation, running, stopping, and cleanup.
- 01 Why Containers Whether the environment difference can be pulled into the output is counted: the previous course's 18 differences are split into three buckets, the byte cost of what gets pulled in is measured, and the share of what must stay in the environment is written down.
- 02 Servers, Virtual Machines, and Containers Three isolation levels are compared by the same criteria: which one separates what, duplicates what, how many megabytes of memory base and what order of magnitude of startup delay it demands in return, and how many instances fit on a single machine.
- 03 Underlying Technologies The three mechanisms that build container isolation are modeled separately: the namespace as a visibility mapping, the control group as a share allocator, the union filesystem as a layer stack; each one's cost and the place it is pierced are counted.
- 04 Container Standards The promise carried by an image format specification is split into three parts and a verifier that checks the digest chain is written; how far portability actually goes is counted: what stays the same and what changes between two runtimes that comply with the same specification.
- 05 Container Lifecycle Creation, running, stopping, and cleanup are built as a state machine; the resource held at every transition is counted, and the layer, network name, and volume that stopped-but-uncleaned containers accumulate over a period are measured.