Dienstkonfiguration
Docker Compose Übersicht
Docker Compose ist ein Werkzeug zur Definition und Ausführung von Multi-Container-Docker-Anwendungen. Es ermöglicht Ihnen, die Dienste, Netzwerke und Volumes Ihrer Anwendung in einer YAML-Datei zu konfigurieren.
Compose-Dateistruktur
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
Konfigurationsparameter
Wichtige Konfigurationsabschnitte
Abschnitt |
Zweck |
Beispiel |
version |
Compose-Dateiformatversion |
3.8 |
services |
Definition von Containern |
web, database |
networks |
Erstellung eigener Netzwerke |
frontend, backend |
volumes |
Dauerhafte Datenspeicherung |
database_data |
Detailliertes Beispiel für die Dienstdefinition
version: "3.8"
services:
## Webanwendungsdienst
web:
image: nginx:latest
container_name: web-server
ports:
- "8080:80"
volumes:
- ./website:/usr/share/nginx/html
networks:
- web_network
restart: always
## Datenbankdienst
database:
image: postgres:13
container_name: postgres-db
environment:
POSTGRES_DB: myapp
POSTGRES_USER: admin
POSTGRES_PASSWORD: securepassword
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- web_network
restart: unless-stopped
networks:
web_network:
driver: bridge
volumes:
postgres_data:
Verwaltung der Dienstkonfiguration
graph TD
A[Docker Compose YAML] --> B{Konfiguration prüfen}
B --> |Gültig| C[Dienste erstellen]
B --> |Ungültig| D[Fehler anzeigen]
C --> E[Container starten]
E --> F[Dienste überwachen]
Erweiterte Konfigurationstechniken
Umgebungsvariablen
## .env-Datei erstellen
echo "DB_PASSWORD=mysecretpassword" > .env
## In docker-compose.yml referenzieren
environment:
- DB_PASSWORD=${DB_PASSWORD}
Health Checks
services:
web:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
Allgemeine Konfigurationsbefehle
## Compose-Datei prüfen
docker-compose config
## Dienste starten
docker-compose up -d
## Dienste stoppen
docker-compose down
## Dienstprotokolle anzeigen
docker-compose logs web
## Dienste neu erstellen
docker-compose up -d --build
Best Practices
- Verwenden Sie umgebungsspezifische Compose-Dateien
- Implementieren Sie eine korrekte Volumenverwaltung
- Verwenden Sie Netzwerke für die Dienstisolation
- Nutzen Sie Umgebungsvariablen
- Implementieren Sie Health Checks
Hinweis: LabEx bietet interaktive Umgebungen, um diese Docker Compose-Konfigurationen effektiv zu üben.