Install Docker Desktop, run your first real container, and learn the images-vs-containers model that the rest of this course builds on.
Welcome to Getting Started with Docker, the opening module of Docker & Kubernetes for Data Engineering. You are joining CityFlow, the same small mobility-analytics team you worked with in the Python and PySpark courses — except this time your job isn’t to analyze the taxi data, it’s to make sure the pipeline itself runs the same way on every machine that touches it. That job starts with Docker.
You’ll begin at the very beginning: installing Docker Desktop and proving it actually works with a real container, not a diagram. From there you’ll reproduce a genuine “works on my machine” failure — the same script, run two different ways, with two different real outcomes — before Docker ever enters the picture, so the problem it solves isn’t abstract. Then you’ll build the mental model everything else in this course rests on: an image is a read-only template, a container is a running instance of one, and the small set of commands (pull, run, ps, stop, rm) that move between them. You’ll put that model to work running a real Postgres database in a container, and prove with your own queries that “it’s running” means something specific and checkable.
The module closes with a guided project that ties all four lessons together: three real containers, one Docker network, and a small slice of CityFlow’s actual trip data moving between them — no simulation, no mock output. By the end, docker run will feel like a tool you understand from the inside, not a spell you copy from a tutorial.
Start with Lesson 1, and get Docker installed and verified on your own machine.
Complete all 5 lessons to finish the Getting Started with Docker module.