Docker · zero to on-call
Build it small.
Run it safe.
Images, layers, networks and volumes, learned by fixing containers that misbehave. In your browser, with real docker commands and real errors.
Learning Docker?
Start from zero, step by step.
Levels in order, each with a hands-on incident to fix in your browser.
Something broken right now?
Paste the error, get the fix.
The cause, the commands to confirm it and the fix, for every common Docker error.
Everything you need, from the first command to the 3 a.m. incident.
Playground
A real docker CLI, in your browser.
Containers that exit, ports that do not answer, images that weigh 1.6 GB, stacks that start in the wrong order.
Dockerfile X-ray
Every line, explained.
Paste a Dockerfile: what each line does, what is risky, what is missing.
Quiz
Know why, not just how.
Architecture
Client, daemon, containerd, runc.
Stuck on an error?
Learn why it happens, then practise the fix.
Fix a broken container. Right here.
Real incidents, real docker commands and real error messages.
Practise on your own machine
Get Docker and the course
Docker Engine on Linux, or Docker Desktop. Both are free for learning.
# 1. Check Docker works
docker run --rm hello-world
# 2. Get the course
git clone https://github.com/SandeepKomal/Docker.git
cd Docker
# 3. Start with the security lab
cd docs/container-security-lab
docker build -f Dockerfile.baseline -t lab:baseline .
Clean up when you are done
Labs leave images and build cache behind. See what they use, then remove only what you no longer need.
docker system df
docker container prune
docker image prune
docker builder prune
Your path
Progress is saved in this browser only. Tick a level when you have done its lab.
Quiz
Scenario-based questions for every level. You see right or wrong as soon as you answer, with the reasoning, which is where the learning is.
Dockerfile X-ray
Paste a Dockerfile to see what every line does, which lines are risky, and what is missing. Or open one of this repository's own.
Stuck on an error?
Paste the error you see, or pick a symptom. Each answer explains why it happens, how to confirm it and how to fix and prevent it, then gives you a safe scenario to break and fix it yourself, so you recognise it next time. Every problem has its own link. There is also a plain page of every problem.
Cheat sheet
Type your own names once and every command fills in, ready to copy. Try runs a command in the playground, opening the scenario it needs. Lab marks the few that need Docker on your machine.
Fill in your own names
Docker architecture
What happens between typing docker run and a process running in a container. Point at a component, or tab to it, to read about it.