Learn Docker and Kubernetes
Learn to package and run applications with containers, a core skill for modern development and DevOps. Start with your first container, build your own images, run whole apps with Compose, and finish on a real Kubernetes cluster. Every command that shows output in this course was run while writing it, so the results you see are real.
Progress is saved in this browser. Accounts are coming later.
- Lessons available
- 30
- In the full course
- 30
- Beginner
Start from zero. No experience needed.
- Intermediate
Combine ideas to solve real problems.
- Advanced
The techniques used in professional work.
Course syllabus
All 30 lessons are available. Start anywhere, or follow the parts in order.
Part 1 · Beginner
Getting Started
What containers are, installing Docker, running your first container, and working with images.
Part 2 · Beginner
Building Images
Writing Dockerfiles, using the build cache, packaging Python and Node.js apps, multi-stage builds and publishing images.
Part 3 · Intermediate
Data and Networks
Keeping data with volumes, sharing code with bind mounts, connecting containers, and passing configuration.
Part 4 · Intermediate
Docker Compose
Running several containers together, adding a database, and setting up a development environment.
Part 5 · Intermediate
Containers in Production
Health checks, resource limits, debugging, image security and automated builds.
Part 6 · Advanced
Kubernetes Basics
Why orchestration exists, then pods, deployments, services and configuration on a real cluster.
Part 7 · Intermediate
Project
Package a complete web app with a database.
Part 8 · Intermediate
Interview Questions
Frequently asked Docker and Kubernetes interview questions with answers.
Keep going with Docker and Kubernetes
Become a Better Programmer
Get new tutorials, coding challenges, and cheat sheets.