Docker Compose Grundlagen
Einführung in Docker Compose
Docker Compose ist ein leistungsstarkes Werkzeug zur Container-Orchestrierung, das Entwicklern die einfache Definition und Verwaltung von Multi-Container-Anwendungen ermöglicht. Als wichtiger Bestandteil moderner Softwarebereitstellung vereinfacht Docker Compose den Prozess der Konfiguration und Ausführung komplexer Anwendungsumgebungen.
Kernkonzepte und Architektur
Docker Compose verwendet YAML-Konfigurationsdateien, um Services, Netzwerke und Volumes für containerisierte Anwendungen zu definieren. Das Hauptziel ist die Optimierung der Bereitstellung vernetzter Container durch eine einzige, deklarative Konfiguration.
graph TD
A[Docker Compose] --> B[YAML-Konfiguration]
B --> C[Service-Definitionen]
B --> D[Netzwerk-Konfiguration]
B --> E[Volume-Verwaltung]
Hauptkomponenten von Docker Compose
Komponente |
Beschreibung |
Zweck |
Services |
Container-Konfigurationen |
Definition einzelner Container |
Netzwerke |
Container-Kommunikation |
Verwaltung der Container-Networking |
Volumes |
Persistente Datenspeicherung |
Handhabung der Datenpersistenz |
Praktisches Beispiel: Webanwendungsaufbau
Hier ist eine umfassende Docker Compose-Konfiguration für eine typische Webanwendung:
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:
Konfigurationsübersicht
- Das Beispiel definiert zwei Services: einen Webserver und eine Datenbank.
- Nginx serviert statische Inhalte aus einem lokalen Verzeichnis.
- Die PostgreSQL-Datenbank ist mit einem persistenten Volume konfiguriert.
- Die Portweiterleitung ermöglicht den externen Webzugriff.
Installation und Initialisierung
Um mit Docker Compose unter Ubuntu 22.04 zu beginnen, verwenden Sie die folgenden Befehle:
sudo apt update
sudo apt install docker-compose-plugin
docker compose version
Ausführung und Verwaltung
Die Ausführung einer Multi-Container-Anwendung ist unkompliziert:
## Start der Container im Hintergrund
docker compose up -d
## Anzeige der laufenden Container
docker compose ps
## Stopp und Entfernung der Container
docker compose down