Multi-Container Applications with Docker Compose
Orchestrate multi-service apps with Docker Compose — networking, volumes, health checks, and production patterns.
View badge details
About This Course
Course Curriculum
12 Lessons
Compose File Fundamentals
Learn Docker Compose file structure, service definitions, and the core commands for defining and running multi-container applications.
Compose File Fundamentals - Lab Exercises
compose.yaml structure (services, networks, volumes), service definitions (image, build, ports, environment, depends_on), docker compose up/down/ps/logs/exec, environment variables (.env files, variable substitution)
Networking and Service Discovery
Configure Compose networking for multi-service communication. Learn custom networks, DNS-based service discovery, and network isolation patterns.
Networking and Service Discovery - Lab Exercises
Default Compose network (services reach each other by name), custom networks for isolation (frontend, backend), ports vs expose, external networks for cross-project communication, DNS resolution and aliases
Volumes Configs and Secrets
Manage persistent data with Compose volumes, inject configuration files with configs, and protect sensitive data using Docker secrets.
Volumes Configs and Secrets - Lab Exercises
Named volumes in Compose (database persistence), bind mounts for development (live code reload), Docker configs and secrets, volume lifecycle (docker compose down -v vs without -v)
Development Workflows
Streamline local development with Compose watch, hot-reload, override files, and debugging workflows for faster inner-loop iteration.
Development Workflows - Lab Exercises
Override files (compose.yaml + compose.override.yaml), hot reload with bind mounts and watchfiles, debugging containers, docker compose watch mode, running tests in containers
Production Patterns and Health Checks
Prepare Compose applications for production with health checks, restart policies, resource constraints, and deployment best practices.
Production Patterns and Health Checks - Lab Exercises
Health checks (test commands, intervals, retries, start_period), depends_on with condition service_healthy, resource limits (deploy.resources.limits), restart policies, logging drivers, profiles for optional services
Capstone Briefing Full E-Commerce Stack
Capstone briefing for building a full e-commerce stack with Compose. Review the multi-service architecture and requirements for the hands-on challenge.
Capstone Full E-Commerce Stack
Capstone: compose the complete PackShip platform - FastAPI backend (build from Dockerfile), PostgreSQL with named volume and health check, Redis caching, Nginx reverse proxy, Adminer for DB management, override file for development, health checks on all services, .env for config, resource limits