Back to Blog
docker devops tutorial

5 Docker Compose Tipps die dir Zeit sparen

Nach Jahren mit Docker Compose hab ich einige Tricks gesammelt, die den Alltag deutlich angenehmer machen.

1. Nutze .env Dateien richtig

Statt Variablen direkt in der docker-compose.yml zu definieren:

services:
  app:
    environment:
      - DATABASE_URL=postgres://user:password@db:5432/app

Nutze eine .env Datei und referenziere sie:

services:
  app:
    env_file:
      - .env

Bonus: Docker Compose lädt automatisch eine .env im selben Verzeichnis.

2. Healthchecks sind dein Freund

Dein Container startet, aber die App darin braucht 30 Sekunden zum Hochfahren? Healthchecks lösen das:

services:
  db:
    image: postgres:16
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5

  app:
    depends_on:
      db:
        condition: service_healthy

3. Nutze profiles für optionale Services

Nicht jeder braucht immer alle Services:

services:
  app:
    image: myapp

  debug:
    image: debug-tools
    profiles:
      - debug

Normal: docker compose up startet nur app Debugging: docker compose --profile debug up startet beide

4. Override-Dateien für Umgebungen

Statt verschiedene Compose-Dateien zu pflegen:

  • docker-compose.yml – Basis-Konfiguration
  • docker-compose.override.yml – Dev-spezifisches (wird automatisch geladen)
  • docker-compose.prod.yml – Produktion
# Entwicklung (lädt automatisch override)
docker compose up

# Produktion
docker compose -f docker-compose.yml -f docker-compose.prod.yml up

5. Logs filtern mit --since

Statt durch endlose Logs zu scrollen:

# Logs der letzten 5 Minuten
docker compose logs --since 5m

# Logs seit einem Zeitpunkt
docker compose logs --since 2024-01-01T10:00:00

Hast du eigene Tipps? Schreib mir auf GitHub.

Made with by Daniel Hiller

|