Docker Compose
Docker Compose definiert und startet mehrere Container als eine Anwendung in einer einzigen YAML-Datei.
compose.yaml
Die folgende compose.yaml entspricht der PostgreSQL + PGAdmin4 Infrastruktur aus der vorherigen Lektion:
services:
postgres:
image: postgres:18.3-alpine3.23
environment:
POSTGRES_PASSWORD: postgres
volumes:
- pgdata:/var/lib/postgresql
networks:
- pgnet
pgadmin4:
image: dpage/pgadmin4:9.14.0
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: admin
ports:
- "8080:80"
networks:
- pgnet
depends_on:
- postgres
volumes:
pgdata: {}
networks:
pgnet: {}
Befehle
docker compose up -d # starten (detached)
docker compose ps # Status
docker compose logs -f # Logs aller Services
docker compose logs -f postgres
docker compose down # stoppen und Container entfernen
docker compose down -v # auch Volumes entfernen (Datenverlust!)
Hinweis:
docker compose down -vlöscht alle Volumes – alle Daten in der PostgreSQL-Datenbank gehen verloren.
Nützliche Optionen
docker compose up -d --build # Image neu bauen und starten
docker compose up -d --force-recreate # Container neu erstellen
docker compose pull # Images aktualisieren
docker compose exec postgres bash # Shell in einem laufenden Container
docker compose top # Prozesse der Container anzeigen