Package an app once and run it the same way on your laptop, in CI and in production.
Everything this course covers, in the order you'll learn it. Open a stage to see why it matters and jump to its lesson.
Why containers took over, and how they differ from VMs.
Lesson 1: Containers: what they are and why they won →Containers are Linux features. Knowing them makes debugging much easier.
Lesson 2: Under the hood: namespaces, cgroups and layered filesystems →Get a working Docker setup on your machine and on a server.
Lesson 3: Installing Docker: Desktop, Engine on Linux, and rootless →Run, inspect and stop your first containers.
Lesson 4: Docker basics: images, containers, ports, logs and exec →Run databases and tools in seconds without installing them.
Lesson 5: Other people's images: databases, tools and runtimes →Containers forget everything when they stop. Learn where data should live.
Lesson 6: Keeping data: volumes, bind mounts and backups →Write Dockerfiles that build fast and ship small.
Lesson 7: Building images: Dockerfiles, the layer cache and multi-stage builds →Store and share images so CI and servers can pull them.
Lesson 8: Registries: Docker Hub, GHCR, ECR and tags you can trust →Run multi-container apps with one file.
Lesson 9: Running containers well: restart policies, limits, config and Compose →How containers find each other and the outside world.
Lesson 10: Networking: bridge networks, published ports and container DNS →Most container images in the wild run as root with known CVEs. Yours won't.
Lesson 11: Container security: scanning, non-root, runtime limits and secrets →Keep a busy Docker host tidy and understandable.
Lesson 12: The Docker CLI day to day: inspect, filter, format and clean up →Use containers for daily development, not just deployment.
Lesson 13: Developing with Docker: hot reload, debugging, tests and CI →Where containers go next. This leads into the Kubernetes course.
Lesson 14: Deploying containers: PaaS, Docker Swarm and Kubernetes →Stage order follows the community roadmap at roadmap.sh/docker, trimmed to what DevOps work needs.