Running all services (database, cache, queue, monitoring) every time is slow. Profiles start only what you need.
docker-compose.yml:
services:
app:
build: .
ports:
- "3000:3000"
db:
image: postgres
profiles: ["dev", "test"]
redis:
image: redis
profiles: ["dev"]
monitoring:
image: grafana
profiles: ["monitoring"]
mailhog:
image: mailhog/mailhog
profiles: ["dev"]
Start Different Profiles:
# Just the app (no extras) docker compose up # Development (app + db + redis + mailhog) docker compose --profile dev up # Testing (app + db only) docker compose --profile test up # With monitoring docker compose --profile dev --profile monitoring up
Clean, flexible environment management!
