What is Docker?
Docker is a platform for building, packaging, and running applications as containers. A container bundles your app and its dependencies into an isolated, reproducible environment that runs identically everywhere.
Mental model: Image = blueprint (immutable snapshot) · Container = running instance (mutable runtime layer on top)
Why containers?
Consistent runtime across laptops, CI, and production. Quick startup. Reproducible builds. No "works on my machine" excuses.
Core pieces
Images, containers, registries, Dockerfile, build context, networks, and volumes — the seven building blocks.
Common flow
Write Dockerfile → build image → run container → connect network/volumes → ship to registry.
Start here — pick a topic
Each page is standalone with diagrams, examples, and deep explanations.
Dockerfile Guide
Dockerfile anatomy, image layers, build cache, CMD vs ENTRYPOINT — the complete reference.
Layers • Cache • CMD vs ENTRYPOINT
Networking Visualizer
Bridge, host, overlay, macvlan — architecture diagrams and decision guides for every network driver.
Bridge • Host • Overlay • Macvlan
Volumes Guide
Volumes vs bind mounts vs tmpfs, persistence patterns, backups, and real-world usage examples.
Volumes • Bind mounts • tmpfs
Troubleshooting
Production-level diagnosis for containers, networking, images, volumes, resources, and daemon issues.
Containers • Networking • Daemon