A course that runs on your own machine

Docker and Kubernetes,
made visible.

Most tutorials hand you six unfamiliar words at once and a hello-world container. This one gives you a small production system: eight containers, five languages, all running locally. You learn by taking it apart and watching it put itself back together.

28
lessons
7
chapters
8
containers
5
languages
the fleet
dashboardTypeScript:3000
workerTypeScript:3001
aiPython:8000
utilGo:8080
computeC:9000
postgresPostgres:5432
redisRedis:6379
socket-proxyInfra:2375

Five languages on purpose. The tooling treats a C program and a Python program identically, which is why these skills transfer to any codebase.

Nothing is simulated

Every command is a real command against real containers running on your machine. The output you see is the output your terminal produced, including the errors.

It checks your work

A lesson completes when the services actually change: a request counter rises, a restart count moves, a container id is replaced. “Complete” means complete, not “clicked next”.

You break it on purpose

Crash a service and watch it revive. Scale to five copies. Roll out a new version with no downtime, then roll it back. Recovery is only convincing once you have caused the failure.

What you need to know first

Being precise about this matters. A course that quietly assumes you already know half of what it teaches is worse than one that says so up front.

Assumed

  • You can open a terminal and run a command someone gives you.
  • You know roughly what a program, a file, and a network port are.
  • You can read a little code without needing to write C, Go, or Python.
  • You have a Mac or Linux machine you can install software on.

Not assumed

  • Any Docker or Kubernetes knowledge. Chapter 0 defines every term before it is used.
  • A systems, ops, or DevOps background of any kind.
  • Networking theory. The parts that matter are taught where they first bite.
  • YAML, cloud accounts, or a credit card. Everything runs locally and for free.

Tools to install

Only the first two are needed to begin. Run make doctor and it will tell you what is missing.

dockerChapters 1 through 4. Install OrbStack or Docker Desktop.
nodeVersion 22 or newer, to run the dashboard.
kubectlChapter 5 onward, to talk to the cluster.
kindChapter 5 onward, to create a local cluster.

The path

Docker first, then Compose, then Kubernetes. That is the order they were invented, and the order in which each one's problems make the next one make sense.

  1. 00Getting oriented3 lessons
  2. 01What a container actually is4 lessons
  3. 02Images and how they're built4 lessons
  4. 03Networking, config, and data4 lessons
  5. 04When things break4 lessons
  6. 05Kubernetes6 lessons
  7. 06Ship your own app3 lessons

Run it for real

You can read every lesson here, with real recorded output. But the point is to run the commands yourself and watch your own system respond. Clone the repo, start the fleet, and the dashboard turns live.

# start all eight containers
$ make up
# check every tool is present
$ make doctor
# five languages, one JSON shape
$ make meta