Why learn Docker?
-
"Works on my machine" stops being an excuse.
-
A standard packaging format every cloud and CI system understands.
-
Run any database or service locally in one command.
-
The first step toward Kubernetes and modern deployment.
What you can build with Docker
Local dev environments Reproducible CI builds Shipping apps to any cloud Running open-source services without installing them
Docker tutorials
40 articles · page 1 of 2Hand-written tutorials, ordered as a recommended learning path.
- 01 What is Docker? A clear, no-hype introduction to Docker — what containers actually are, how they differ from virtual machines, and the vocabulary you need before installing anything.
- 02 Install & First Container A step-by-step setup guide for Docker on Windows, macOS, and Linux. Install the engine, verify it works, and run your first container in under fifteen minutes.
- 03 Dockerfile Basics Learn how to write a Dockerfile from scratch. Understand each instruction, build a real image for a small Node application, and run it as a container.
- 04 Docker Compose Learn Docker Compose by building a small two-service app — a web API and a Postgres database — defined in a single compose.yaml file and started with one command.
- 05 Images, Layers & Volumes A practical deep dive into how Docker images are stored as layers, how the build cache works, and the real difference between bind mounts and named volumes.
- 06 Multi-Stage Builds Use Docker multi-stage builds to ship tiny production images — build with full toolchains, copy only the artifacts. Examples for Node and Go, with .dockerignore and size comparisons.
- 07 Env Vars & Secrets How to feed configuration into Docker containers without baking it into the image — ENV vs ARG, --env-file, Compose env, BuildKit secret mounts, and Docker Swarm secrets, with safe defaults.
- 08 Healthchecks Healthchecks tell Docker if a container is alive. Restart policies tell it what to do when it is not. Together they keep your services running.
- 09 Compose Aliases Network aliases let containers reach each other under multiple names. Learn how aliases work in Compose, when to use them, and the gotchas to avoid.
- 10 Docker vs Podman Compare Docker and Podman on architecture, security, compatibility, and developer experience. Learn which container runtime fits your workflow in 2026.
- 11 Compose Watch Learn how to use Docker Compose Watch to automatically sync file changes and rebuild containers during development. Faster feedback loops without manual restarts.
- 12 Docker Init Learn how to use docker init to scaffold Dockerfiles, Compose files, and .dockerignore for your projects in seconds. Supports Node.js, Python, Go, Rust, and more.
- 13 Docker Scout Learn how to use Docker Scout to scan container images for CVEs, analyze software dependencies, and get actionable remediation advice directly from the CLI.
- 14 Slim Images Practical techniques to reduce Docker image size by 90% or more. Covers multi-stage builds, Alpine and distroless bases, layer optimization, and dependency management.
- 15 Image Optimization Reduce Docker image size and build time with multi-stage builds, layer caching, distroless bases, and practical Dockerfile patterns.
- 16 BuildKit Advanced Master BuildKit's cache mounts, secret mounts, SSH forwarding, and parallel builds to speed up Docker image creation and keep secrets out of layers.
- 17 Entrypoint Patterns Master ENTRYPOINT vs CMD, entrypoint scripts, signal handling, and init processes to build containers that start and stop reliably.
- 18 Logging & Monitoring Configure Docker logging drivers to route container logs to files, syslog, or centralized systems. Includes monitoring with Prometheus and cAdvisor.
- 19 Trivy Scanning Use Trivy to find vulnerabilities in Docker images, Dockerfiles, and IaC before they reach production. Includes CI pipeline integration examples.
- 20 tmpfs Mounts Use Docker tmpfs mounts to store sensitive or ephemeral data in memory, keeping it off disk and out of container layers entirely.