Free through lesson 3

Docker for Beginners

From installing Docker through images and containers, ports and networks, volumes, Dockerfiles, multi-stage builds, registries, Docker Compose and troubleshooting. Twenty lessons that take you to the point where you can bring up a development environment from a single compose.yaml — and work out for yourself what is wrong when it will not start. Every command and its output was produced by actually running it.

Curriculum

The 20 lessons are grouped into five chapters. Working through them in order is the best way, but you are welcome to dip into whatever interests you. Note: Docker commands cannot run inside the browser. Install Docker Desktop (or Podman or Colima) and try them in your own terminal as you follow along.

Chapter 1 — Running containers (lessons 1–5)

You sort out what Docker is for by contrasting it with virtual machines, then cover the four foundations: images, containers, ports and volumes. By the end, data you cannot afford to lose lives outside the container.

Chapter 2 — Building your own images (lessons 6–10)

You write a Dockerfile and build an image with your own app inside it. Once you understand layers and the build cache, builds go from minutes to seconds and image sizes drop by an order of magnitude.

Chapter 3 — Distribution and Docker Compose (lessons 11–14)

You tag your image and push it to a registry, then move on to compose.yaml. Instead of starting containers one at a time by hand, you bring several services up together.

Chapter 4 — Using it as a development environment (lessons 15–17)

You add what a day-to-day development environment needs: start-up order, health checks, hot reload. Finally you turn "where do I look when it will not work?" into a routine you can follow.

Chapter 5 — Operations and safety (lessons 18–20)

You clear out accumulated images and volumes and configure containers to run safely. The chapter closes by looking back over the course and mapping out what lies beyond it.

Once you have finished all 20 lessons, look at Linux — the server your containers run on — or shore up your defences before going live with Python Security. Membership unlocks every course.