Junior
Was ist Docker Compose?
sobes.tech KI
Antwort von AI
Werkzeug zum Definieren und Ausführen von Multi-Container-Docker-Anwendungen. Ermöglicht die Beschreibung von Diensten, Netzwerken und Volumes in einer einzigen YAML-Datei und deren Ausführung mit einem Befehl.
Hauptfunktionen:
- Definition mehrerer Dienste in einer Datei.
- Erstellung und Start aller Dienste mit einem Befehl.
- Verwaltung des Lebenszyklus der Anwendung (Start, Stopp, Neustart, Skalierung).
- Netzwerkinteraktion zwischen Containern.
- Anwendung der Konfiguration in Echtzeit.
Beispiel für eine docker-compose.yml-Datei:
version: '3.8' # Dateiformatversion
services:
web: # Dienstname
image: nginx:latest # Verwendetes Image
ports:
- "80:80" # Port-Weiterleitung
volumes:
- ./html:/usr/share/nginx/html # Volume-Mapping
app: # Name eines anderen Dienstes
build: . # Bau des Images aus Dockerfile im aktuellen Verzeichnis
ports:
- "5000:5000"
depends_on: # Abhängigkeit von einem anderen Dienst
- db
db: # Name des Datenbankdienstes
image: postgres:latest
environment: # Umgebungsvariablen
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes: # Definierte Volumes
data: # Benannter Volume für Daten
Befehle:
docker-compose up: Startet die Container.docker-compose down: Stoppt und entfernt die Container.docker-compose build: Baut die Images.docker-compose ps: Zeigt den Status der laufenden Container.
Vorteile:
- Vereinfacht die Verwaltung komplexer Multi-Container-Anwendungen.
- Sichert die Reproduzierbarkeit der Bereitstellung.
- Erleichtert die lokale Entwicklung und Tests.