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-Konfigurationdocker-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.