Vorbereitung einer einfachen docker-compose.yml-Datei
In diesem Schritt bereiten wir eine einfache docker-compose.yml
-Datei vor. Bevor wir beginnen, installieren wir Docker Compose. Da die LabEx VM-Umgebung Docker Compose nicht vorinstalliert hat, müssen wir es manuell installieren. Wir laden die Docker Compose-Binary herunter und machen sie ausführbar.
Zuerst laden wir die Docker Compose-Binary mit curl
herunter. Wir verwenden Version 1.29.2
, die mit der installierten Docker-Version kompatibel ist.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Dieser Befehl lädt die Docker Compose-Binary von der offiziellen GitHub-Releases-Seite herunter und speichert sie unter /usr/local/bin/docker-compose
. Die Teile $(uname -s)
und $(uname -m)
erkennen automatisch Ihr Betriebssystem und die Architektur, um sicherzustellen, dass die korrekte Binary heruntergeladen wird.
Als nächstes müssen wir die heruntergeladene Binary ausführbar machen.
sudo chmod +x /usr/local/bin/docker-compose
Dieser Befehl fügt Ausführungsberechtigungen zur docker-compose
-Datei hinzu, sodass Sie sie als Befehl ausführen können.
Nun überprüfen wir, ob Docker Compose korrekt installiert ist, indem wir die Version überprüfen.
docker-compose --version
Sie sollten eine Ausgabe ähnlich zu docker-compose version 1.29.2, build 5becea4c
sehen. Dies bestätigt, dass Docker Compose installiert und einsatzbereit ist.
Jetzt erstellen wir eine einfache docker-compose.yml
-Datei in Ihrem ~/project
-Verzeichnis. Diese Datei definiert einen einzelnen Service mit dem nginx
-Image.
nano ~/project/docker-compose.yml
Dieser Befehl öffnet den nano
-Texteditor, um die docker-compose.yml
-Datei zu erstellen und zu bearbeiten. Fügen Sie folgenden Inhalt in den Editor ein:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Lassen Sie uns diese docker-compose.yml
-Datei aufschlüsseln:
version: '3.8'
gibt die Docker Compose-Dateiformatversion an.
services:
definiert die Services (Container), die Sie ausführen möchten.
web:
ist der Name unseres Services. Sie können jeden beliebigen Namen wählen.
image: nginx:latest
spezifiziert das Docker-Image für diesen Service. Hier verwenden wir die neueste Version des offiziellen Nginx-Images.
ports:
mappt Ports zwischen dem Host und dem Container. "80:80"
mappt Port 80 auf dem Host zu Port 80 im Container. Das bedeutet, Sie können auf den im Container laufenden Nginx-Webserver zugreifen, indem Sie http://localhost
in Ihrem Webbrowser aufrufen (oder die IP-Adresse der VM).
Speichern Sie die Datei mit Strg + O
, drücken Sie Enter
und verlassen Sie den Editor mit Strg + X
.
Sie haben nun erfolgreich eine einfache docker-compose.yml
-Datei erstellt, die einen Web-Service mit dem Nginx-Image definiert. In den nächsten Schritten werden wir diese Datei verwenden, um Container zu erstellen und zu verwalten.