Docker#

This course is written for the person who writes the application, not the person who runs the cluster. You will not be asked to configure a registry, tune a storage driver or operate a build farm. You will learn exactly what you need to package your own service so that it runs the same on your laptop, in CI and in production — and, just as importantly, what to check when it does not. Every mechanism worth seeing is an animation: press Play, then step through it with the arrows. Code appears in shell, YAML and Python, and the tabs remember your choice.

Three ideas carry almost all of Docker. A container is a process, not a machine — the kernel just restricts what it can see and use, which is why it starts in milliseconds and why "isolated" has limits. An image is a stack of layers and the order is a cache key — which explains every fast build and every slow one. And containers are disposable, so anything you want to keep must be deliberately put somewhere that outlives them. Hold those three and the commands stop needing to be memorised.

16 Topics • Mental Models, Interactive Animations & Worked Questions
Unit 1

Building Images#

What a container really is, and how to build images that are fast to rebuild, small and reproducible.

Unit 2

Running Containers Together#

Ports, networks, persistent data, and running an app alongside its real dependencies.

Unit 3

Shipping & Operating#

Shipping images and running them reliably: shutdown, registries, debugging and production hardening.