Start services
docker-compose up
Start in background
docker-compose up -d
Stop services
docker-compose down
Stop and remove volumes
docker-compose down -v
View logs
docker-compose logs
Follow logs
docker-compose logs -f
View specific service logs
docker-compose logs -f web
List running services
docker-compose ps
Restart services
docker-compose restart
Rebuild images
docker-compose build
Build without cache
docker-compose build --no-cache
Scale service
docker-compose up -d --scale web=3
Execute command in service
docker-compose exec web bash
Run one-off command
docker-compose run web python manage.py migrate
Pull latest images
docker-compose pull
Validate configuration
docker-compose config
View environment variables
docker-compose config --services
Pause services
docker-compose pause
Unpause services
docker-compose unpause
Basic docker-compose.yml
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:14
environment:
POSTGRES_PASSWORD: secret
POSTGRES_DB: myapp
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:
Use custom file
docker-compose -f custom-compose.yml up
Multiple compose files
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
Remove stopped containers
docker-compose rm