Einführung in Docker Compose
Docker Compose ist ein Tool, das es Ihnen ermöglicht, mehrcontainerbasierte Docker - Anwendungen zu definieren und auszuführen. Es vereinfacht den Prozess der Verwaltung und Orchestrierung mehrerer Docker - Container, indem es eine deklarative Möglichkeit bietet, die Dienste, Netzwerke und Volumes der Anwendung zu definieren.
Was ist Docker Compose?
Docker Compose ist eine auf YAML basierende Konfigurationsdatei, die die Dienste, Netzwerke und Volumes beschreibt, aus denen eine mehrcontainerbasierte Anwendung besteht. Diese Konfigurationsdatei kann verwendet werden, um den gesamten Anwendungsstapel mit einem einzigen Befehl zu erstellen, zu starten, zu stoppen und zu verwalten.
Vorteile der Verwendung von Docker Compose
-
Vereinfachte Anwendungsbereitstellung: Docker Compose ermöglicht es Ihnen, den gesamten Anwendungsstapel in einer einzigen Datei zu definieren, was die Bereitstellung und Verwaltung der Anwendung in verschiedenen Umgebungen erleichtert.
-
Konsistenter Umgebungsaufbau: Indem Sie die Dienste und Abhängigkeiten der Anwendung in einer Compose - Datei definieren, können Sie sicherstellen, dass die Entwicklungs -, Test - und Produktionsumgebungen konsistent sind, wodurch das Risiko von Problemen des Typs "läuft bei mir" verringert wird.
-
Skalierbarkeit: Docker Compose erleichtert die Skalierung einzelner Dienste innerhalb der Anwendung, indem Sie die Compose - Datei ändern und einen einzigen Befehl ausführen.
-
Verbesserte Zusammenarbeit: Die Compose - Datei dient als zentraler Referenzpunkt für die Anwendung, was es Teammitgliedern erleichtert, das Projekt zu verstehen und daran zusammenzuarbeiten.
Erste Schritte mit Docker Compose
Um Docker Compose zu verwenden, müssen Sie Docker auf Ihrem System installiert haben. Sobald Sie Docker installiert haben, können Sie eine Compose - Datei erstellen und das Befehlszeilentool docker-compose
verwenden, um Ihre Anwendung zu verwalten.
Hier ist ein Beispiel für eine Compose - Datei für eine einfache Webanwendung mit einem Webserver und einer Datenbank:
version: "3"
services:
web:
build: .
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: myapp
MYSQL_USER: myapp
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: supersecret
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
In diesem Beispiel definiert die Compose - Datei zwei Dienste: einen Webserver und eine MySQL - Datenbank. Der web
- Dienst wird aus einer Dockerfile im aktuellen Verzeichnis erstellt, während der db
- Dienst das offizielle MySQL - Image verwendet. Die Dienste sind über ein Netzwerk verbunden, und das Datenbankvolume ist so definiert, dass die Daten persistent gespeichert werden.
Um die Anwendung zu starten, können Sie den folgenden Befehl im gleichen Verzeichnis wie die Compose - Datei ausführen:
docker-compose up -d
Dadurch werden die in der Compose - Datei definierten Container im detached - Modus erstellt und gestartet.