Erweiterte Container-Techniken
Mehrere Container orchestrieren
Docker Compose ermöglicht komplexe Anwendungsarchitekturen durch deklarative Konfiguration vernetzter Container.
graph TD
A[Web-Container] --> B[Datenbank-Container]
B --> C[Cache-Container]
C --> D[Monitoring-Container]
Docker Compose-Konfiguration
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: secure_password
cache:
image: redis:alpine
Container-Netzwerkverwaltung
Netzwerktyp |
Beschreibung |
Anwendungsfall |
Bridge |
Standard-internes Netzwerk |
Container-zu-Container-Kommunikation |
Host |
Direkter Host-Netzwerkzugriff |
Hochleistungs-Szenarien |
Overlay |
Multi-Host-Netzwerk |
Verteilte Systeme |
Erweiterte Netzwerkfunktionen
## Erstellen eines benutzerdefinierten Netzwerks
docker network create --driver bridge my_custom_network
## Verbinden eines Containers mit dem Netzwerk
docker network connect my_custom_network container_name
## Netzwerkdetails anzeigen
docker network inspect my_custom_network
Ressourcenbeschränkung
## Container mit CPU- und Speicherbeschränkungen ausführen
docker run -it \
--cpus=2 \
--memory=4g \
--memory-reservation=2g \
ubuntu:latest
Container-Gesundheitsüberwachung
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f || exit 1
Strategien zur Datenspeicherung
## Benannte Volume erstellen
docker volume create app_data
## Volume an Container mounten
docker run -v app_data:/var/lib/data image_name
Container-Protokollierungsmechanismen
## Container-Protokolle anzeigen
docker logs container_name
## Protokoll-Ausgabe verfolgen
docker logs -f container_name
## Protokolgröße begrenzen
docker run --log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
image_name
Sicherheitsverbesserungen
## Container als Nicht-Root-Benutzer ausführen
docker run --user 1000:1000 image_name
## Container-Privilegierung deaktivieren
docker run --security-opt no-new-privileges image_name