Ein Beispiel-Compose-Projekt starten
In diesem Schritt lernen wir, wie man ein Beispiel-Compose-Projekt startet. Bevor wir Docker Compose verwenden können, müssen wir es installieren. Da die LabEx-VM-Umgebung Docker Compose nicht vorinstalliert hat, werden wir es zuerst installieren.
Wir laden die Docker Compose-Binary herunter und machen sie ausführbar.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Nach der Installation können wir diese überprüfen, indem wir die Version von Docker Compose abfragen.
docker-compose --version
Sie sollten die Versionsinformationen in der Konsole sehen, was bestätigt, dass Docker Compose korrekt installiert ist.
Nun erstellen wir ein einfaches Compose-Projekt. Wir legen ein Verzeichnis für unser Projekt an und erstellen darin eine docker-compose.yml
-Datei. Diese Datei definiert die Services für unsere Anwendung.
Zuerst erstellen wir ein Verzeichnis namens my-compose-app
.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
Als nächstes erstellen wir im Verzeichnis ~/project/my-compose-app
eine Datei namens docker-compose.yml
mit dem nano
-Editor.
nano docker-compose.yml
Fügen Sie folgenden Inhalt in die docker-compose.yml
-Datei ein. Diese Datei definiert einen einzelnen Service namens web
, der das nginx
-Image verwendet.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Speichern Sie die Datei und beenden Sie den nano
-Editor (Drücken Sie Strg + X
, dann Y
, dann Enter
).
Bevor wir den Service starten, müssen wir sicherstellen, dass das nginx:latest
-Image lokal verfügbar ist. Wir können das Image mit dem docker pull
-Befehl herunterladen.
docker pull nginx:latest
Nun, da wir die docker-compose.yml
-Datei und das benötigte Image haben, können wir das Compose-Projekt mit dem Befehl docker-compose up
starten. Das Flag -d
führt die Services im Detached-Modus aus, d.h. sie laufen im Hintergrund.
docker-compose up -d
Dieser Befehl erstellt und startet den web
-Service, wie in der docker-compose.yml
-Datei definiert. Sie sollten eine Ausgabe sehen, die anzeigt, dass der Service erstellt und gestartet wird.
Um zu überprüfen, ob der Service läuft, können Sie den Befehl docker ps
verwenden, um die laufenden Container aufzulisten. Sie sollten einen Container für den web
-Service sehen.
docker ps
Sie können auch auf den Nginx-Webserver zugreifen, indem Sie einen Webbrowser öffnen und die IP-Adresse Ihrer LabEx-VM aufrufen. Da wir Port 80 des Containers auf Port 80 des Hosts gemappt haben, sollten Sie die Standard-Nginx-Willkommensseite sehen.