Basic docker-compose.yml
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: password
Essential Commands
docker compose up -d
docker compose down
docker compose ps
docker compose logs -f
docker compose exec web bash
Persist Data with Volumes
services:
db:
image: mysql:8
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Key Points
docker compose down -v also removes volumes — use with caution
- Use named volumes for data you want to keep
Related Articles