Docker Basics: Docker Compose
Manage multi-container applications with Docker Compose
What is Docker Compose?
Docker Compose is a tool for defining and running multi-container applications.
Basic docker-compose.yml
version: '3.8'
services:
web:
build: .
ports:
- "8080:8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://user:pass@db:5432/app
db:
image: postgres:16
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=app
volumes:
postgres_data:
Common Commands
# Start services
docker compose up -d
# View logs
docker compose logs -f
# Stop services
docker compose down
# Rebuild and restart
docker compose up -d --build
Summary
With Docker Compose, you can define your entire application stack in a single file.