Installation von Docker Compose
Docker Compose ist in der Regel in Docker Desktop enthalten oder kann separat installiert werden. Im Folgenden wird die Installation des Docker Compose CLI-Plugins in einer Linux-Umgebung beschrieben.
Installation des Docker Compose CLI-Plugins unter Linux
Installieren Sie das neueste Docker Compose CLI-Plugin, indem Sie es herunterladen und Ausführungsberechtigungen erteilen. Verwenden Sie diese Methode, um Docker Compose zu installieren, wenn Sie Docker Desktop nicht verwenden.
Docker Compose-Plugin herunterladen und installieren
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Laden Sie die neueste Version des Docker Compose CLI-Plugins herunter, erteilen Sie Ausführungsberechtigungen und legen Sie es im entsprechenden Pfad ab.
Docker Compose-Version überprüfen
docker compose version
Überprüfen Sie die Docker Compose-Version, um zu bestätigen, dass die Installation abgeschlossen ist.
Wichtige Docker Compose-Befehle
Docker Compose wird zur Verwaltung von Diensten verwendet, die in einer Datei namens `docker-compose.yml` definiert sind. Mit den folgenden Optionen können Sie Anwendungen mit mehreren Containern einfach steuern.
1. Anwendungen erstellen und ausführen
2. Anwendungen stoppen und entfernen
3. Dienste verwalten
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`docker compose` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Struktur der `docker-compose.yml`-Datei
Docker Compose verwendet eine `docker-compose.yml`-Datei, um Dienste, Netzwerke, Volumes und mehr zu definieren. Diese Datei ist im YAML-Format geschrieben und stellt die Komponenten der Anwendung und ihre Beziehungen klar dar.
Grundlegende Struktur
Die Datei `docker-compose.yml` hat Schlüssel der obersten Ebene wie `version`, `services`, `networks` und `volumes`. Der wichtigste Teil ist der `services`-Abschnitt, der jeden Container definiert, aus dem die Anwendung besteht.
Beispiel einer einfachen Webanwendung
version: '3.8'
services:
web:
image: nginx:latest
ports:
- '80:80'
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- api
api:
build: .
ports:
- '3000:3000'
environment:
NODE_ENV: production
volumes:
data_volume:
Ein Beispiel für eine `docker-compose.yml`-Datei für eine einfache Anwendung, die aus einem Nginx-Webserver und einem Node.js-Backend-Dienst besteht.
Erklärung der Schlüssel
Erläuterungen zu den wichtigsten Einstellungen, die häufig in der Datei `docker-compose.yml` verwendet werden.
- version: Gibt die Version des Compose-Dateiformats an. Es wird empfohlen, die neueste Version zu verwenden (z. B. '3.8').
- services: Dieser Abschnitt definiert jeden Container-Dienst, aus dem die Anwendung besteht.
- image: Gibt den Namen des Docker-Images an, das für den Dienst verwendet werden soll (z. B. `nginx:latest`).
- build: Gibt den Pfad zur Dockerfile an, um das Image zu erstellen (z. B. `.` ).
- ports: Definiert Port-Mappings zwischen dem Host und dem Container (z. B. `- '80:80'`).
- volumes: Definiert Volume-Mounts für die Datenpersistenz (z. B. `- ./data:/app/data`).
- environment: Definiert Umgebungsvariablen, die im Container festgelegt werden sollen.
- depends_on: Definiert Abhängigkeiten zwischen Diensten (z. B. wenn der `db`-Dienst vor dem `web`-Dienst starten muss).
- networks: Definiert das/die Netzwerk(e), mit dem/denen sich der Dienst verbinden wird.
Anwendungsbeispiele
Lernen Sie, wie Sie Anwendungen mit mehreren Containern mithilfe von praktischen Anwendungsbeispielen für Docker Compose-Befehle effizient verwalten.
Docker Compose-Projekt starten (im Hintergrund)
docker compose up -d
Liest die Datei `docker-compose.yml` im aktuellen Verzeichnis und startet alle Dienste im Hintergrund.
Einen bestimmten Dienst neu starten
docker compose restart web
Startet nur den 'web'-Dienst neu, der in `docker-compose.yml` definiert ist.
Protokolle in Echtzeit anzeigen
docker compose logs -f
Streamt Protokolle von allen Diensten in Echtzeit an das Terminal, um das Anwendungsverhalten zu überwachen.
Anwendung stoppen und zugehörige Ressourcen entfernen
docker compose down -v
Stoppt und entfernt alle laufenden Dienst-Container und entfernt auch definierte Netzwerke und anonyme Volumes.
Pfad zur Docker Compose-Datei angeben
docker compose -f /path/to/my-app/docker-compose.prod.yml up -d
Führt eine Compose-Datei mit einem anderen Namen oder an einem anderen Pfad anstelle der standardmäßigen `docker-compose.yml` aus.