Sobes.tech
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.