Docker Fundamentals
A hands-on introduction to Docker for developers who want the why, not just the commands. You'll build the core mental models — images vs. containers, layer caching, persistent volumes, service discovery, and multi-service Compose apps — with real config to read and a runnable model of each concept.
5 lessons · ~2 hours
1. Containers from Scratch
Images vs. containers
An image is the read-only blueprint; a container is a running instance with its own writable layer on top.
Dockerfile & layer caching
Each instruction is a cached layer; changing one invalidates every layer after it, so order cheap-to-change steps last.
Volumes & data
A container's filesystem is ephemeral; named volumes and bind mounts persist data beyond the container's life.
Networks & service discovery
On a Docker network, containers reach each other by service name via built-in DNS, and ports are published host:container.
Compose: multi-service apps
One file describes every service, its environment, and start order via depends_on — Compose brings the whole stack up together.