Docker Compose Up & Down
Master docker compose up and down commands with all essential flags. Learn how to start, stop, rebuild, and scale multi-container applications with Docker Compose.
Docker Compose
Detailed Explanation
Starting Services with docker compose up
docker compose up reads your docker-compose.yml and creates all defined services, networks, and volumes.
Common Usage Patterns
# Start all services in background
docker compose up -d
# Start and rebuild images
docker compose up -d --build
# Start specific services only
docker compose up -d web api
# Force recreate even if config hasn't changed
docker compose up -d --force-recreate
# Wait for health checks to pass
docker compose up -d --wait
Scaling Services
# Run 3 instances of the worker service
docker compose up -d --scale worker=3
Using Alternate Files
# Use a custom compose file
docker compose -f docker-compose.prod.yml up -d
# Override with multiple files (merged in order)
docker compose -f docker-compose.yml -f docker-compose.override.yml up -d
Stopping Services with docker compose down
# Stop and remove containers + networks
docker compose down
# Also remove volumes (WARNING: deletes data)
docker compose down -v
# Also remove images
docker compose down --rmi all
# Remove orphan containers not in current compose file
docker compose down --remove-orphans
Other Useful Commands
# View running service status
docker compose ps
# Follow logs for specific services
docker compose logs -f web api
# Execute command in a service
docker compose exec web sh
# Pull latest images
docker compose pull
Use Case
Orchestrating multi-service development environments (web app + database + cache), running integration test suites with all dependencies, and managing staging environments that mirror production docker-compose configurations.