Docker Compose in der Praxis

Compose definiert komplette Anwendungs-Stacks aus mehreren Containern in einer compose.yaml – mit einem Befehl startbar, reproduzierbar und versionierbar.

Beispiel: Webserver + Datenbank

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
  db:
    image: mariadb:11
    environment:
      MARIADB_ROOT_PASSWORD: geheim
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

Wichtige Befehle

docker compose up -d          # Starten (im Hintergrund)
docker compose down           # Stoppen und Container entfernen
docker compose logs -f        # Logs aller Dienste
docker compose ps             # Status anzeigen

Best Practices

Geheimnisse über Environment-Variablen oder Docker Secrets, nie im Image. Volumes für persistente Daten. Healthchecks definieren. Images mit fixen Versionen pinnen (z.B. mariadb:11.4 statt latest).

Weiterlesen: Docker-Grundlagen · Cloud-Modelle · Container erklärt