Docker Compose Grundlagen
Einführung in Docker Compose
Docker Compose ist ein leistungsstarkes Werkzeug zur Definition und Ausführung von Multi-Container-Docker-Anwendungen. Als Schlüsselkomponente der Container-Orchestrierung ermöglicht es Entwicklern, komplexe Anwendungsumgebungen mithilfe einer einzigen YAML-Konfigurationsdatei zu konfigurieren und zu verwalten.
Kernkonzepte und Architektur
Docker Compose vereinfacht den Prozess der Verwaltung mehrerer miteinander verbundener Container, indem es einen deklarativen Ansatz für die Containerbereitstellung bietet. Die wichtigsten Komponenten umfassen:
Komponente |
Beschreibung |
docker-compose.yml |
Konfigurationsdatei, die Services, Netzwerke und Volumes definiert |
Services |
Einzelne Container, aus denen die Anwendung besteht |
Netzwerke |
Kommunikationskanäle zwischen Containern |
Volumes |
Mechanismen für die persistente Datenspeicherung |
graph TD
A[Docker Compose] --> B[docker-compose.yml]
B --> C[Service 1]
B --> D[Service 2]
B --> E[Service 3]
C --> F[Netzwerk]
D --> F
E --> F
Praktisches Beispiel: Webanwendungsaufbau
Hier ist ein umfassendes Beispiel, das die Docker Compose-Konfiguration für eine typische Webanwendung demonstriert:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./website:/usr/share/nginx/html
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Code-Aufschlüsselung
version: '3.8'
: Gibt das Docker Compose-Dateiformat an
services
: Definiert einzelne Container
web
: Konfiguration des Nginx-Webservers
- Zuordnung des Ports 80
- Mounten lokaler Website-Dateien
database
: Konfiguration der PostgreSQL-Datenbank
- Legt Umgebungsvariablen fest
- Erstellt ein persistentes Volume für die Datenspeicherung
Hauptvorteile von Docker Compose
- Vereinfachte Verwaltung von Multi-Container-Anwendungen
- Konsistente Entwicklungs- und Produktionsumgebungen
- Einfache horizontale Skalierung
- Deklarative Infrastrukturkonfiguration
Befehle der Kommandozeile
Wichtige Docker Compose-Befehle für die Containerverwaltung:
Befehl |
Funktion |
docker-compose up |
Starten aller definierten Services |
docker-compose down |
Stoppen und Entfernen von Containern |
docker-compose ps |
Liste der laufenden Container |
docker-compose logs |
Anzeigen der Container-Logs |
Durch die Nutzung von Docker Compose können Entwickler komplexe containerisierte Anwendungen mit minimalem Konfigurationsaufwand effizient verwalten.