Introduction
Learn what Docker is, how containers differ from virtual machines, and how to install and verify Docker on your system.
Images & Containers
Learn how to pull images, run containers with essential flags, manage container lifecycle, and clean up your local environment.
Dockerfile
Learn how to write a Dockerfile to build custom images, understand layer caching, use .dockerignore, and tag and push your builds.
Volumes & Bind Mounts
Understand named volumes and bind mounts, when to use each, and how to persist data across container restarts and rebuilds.
Networking
Learn how Docker networks work, how containers communicate with each other by name, and how port mapping exposes services to the host.
Docker Compose
Learn how to define and manage multi-container applications with Docker Compose, covering services, volumes, networks, and a full worked example.
Multi-Stage Builds
Learn how to use multi-stage builds to produce small, secure production images by separating build-time and runtime dependencies.
Env & Secrets
Learn how to manage configuration and secrets in Docker using ENV, ARG, .env files, runtime injection, and Docker secrets — without baking sensitive data into images.
Registries & Images
Learn how to push and pull images to Docker Hub, GHCR, and private registries, apply tagging conventions, and scan images for vulnerabilities.
Health Checks & Logging
Learn how to configure Docker health checks, inspect container health status, manage logs with docker logs, and choose the right log driver for production.
Docker in CI/CD
Learn how to build and push Docker images in GitHub Actions, cache layers for faster CI builds, and deploy by pulling and restarting containers.
Production Best Practices
Learn how to harden Docker containers for production — non-root users, read-only filesystems, minimal base images, resource limits, restart policies, and a complete end-to-end project.