Ein einfaches Docker Compose-Projekt vorbereiten
In diesem Schritt bereiten wir ein einfaches Docker Compose-Projekt vor. Da Docker Compose in der LabEx-Umgebung nicht vorinstalliert ist, werden wir es zunächst installieren. Docker Compose ist ein Tool zum Definieren und Ausführen von Multi-Container-Docker-Anwendungen. Mit Compose verwenden Sie eine YAML-Datei, um die Dienste Ihrer Anwendung zu konfigurieren. Mit einem einzigen Befehl erstellen und starten Sie dann alle Dienste aus Ihrer Konfiguration.
Zuerst installieren wir Docker Compose. Wir laden die neueste stabile Version 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 überprüfen wir die Installation, indem wir die Version prüfen.
docker-compose --version
Sie sollten die Versionsnummer in der Ausgabe sehen, was bestätigt, dass Docker Compose korrekt installiert ist.
Nun erstellen wir ein einfaches Docker Compose-Projekt. Wir erstellen ein Verzeichnis für unser Projekt und darin eine docker-compose.yml
-Datei. Diese Datei definiert einen einfachen Webdienst mit dem nginx
-Image.
Navigieren Sie zum Projektverzeichnis.
cd ~/project
Erstellen Sie ein neues Verzeichnis für unser Projekt, z.B. my-web-app
.
mkdir my-web-app
cd my-web-app
Erstellen Sie nun die docker-compose.yml
-Datei mit dem nano
-Editor.
nano docker-compose.yml
Fügen Sie folgenden Inhalt in die docker-compose.yml
-Datei ein:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Diese docker-compose.yml
-Datei definiert einen Dienst namens web
. Dieser Dienst verwendet das nginx:latest
-Docker-Image und mappt Port 80 auf dem Host auf Port 80 im Container.
Speichern Sie die Datei mit Strg + X
, dann Y
und Enter
.
Nun können wir die in der docker-compose.yml
-Datei definierten Dienste mit dem Befehl docker-compose up
starten. Das Flag -d
führt die Container im Detached-Modus aus, d.h. sie laufen im Hintergrund.
docker-compose up -d
Dieser Befehl lädt das nginx:latest
-Image (falls nicht bereits vorhanden) und startet einen Container für den web
-Dienst.
Sie können den Status der laufenden Container mit dem Befehl docker ps
überprüfen.
docker ps
Sie sollten einen Container namens my-web-app_web_1
(oder ähnlich, abhängig vom Verzeichnisnamen) sehen, der läuft und Port 80 weiterleitet.
Um zu überprüfen, ob der Webserver läuft, können Sie curl
verwenden.
curl http://localhost
Sie sollten die HTML-Seite der standardmäßigen Nginx-Begrüßungsseite in der Ausgabe sehen. Dies bestätigt, dass unser einfaches Docker Compose-Projekt korrekt eingerichtet und in Betrieb ist.