Compose Übungsaufgabe
Last updated
Last updated
Erstellen Sie Docker-Compose-Projekt, das einen einfachen Webserver mit einer HTML-Seite bereitstellt.
Nutzen Sie als Images nginx:latest
Erstellen Sie einen Ordner namens html
im selben Verzeichnis wie Ihredocker-compose.yaml
-Datei und legen Sie eine einfache index.html
-Datei mit einem beliebigen Inhalt darin ab.
Verwenden Sie ein Bind Mound um den Ordner ./html
auf den Ordner /usr/share/nginx/html
im Container zu mounten.
Routen Sie den Port 8080 auf den Port 80 Ihres Containers.
Führe Sie den Befehl docker-compose up
aus, um dein Docker-Compose-Projekt zu starten. Sie können den Webserver unter http://localhost:8080
aufrufen und die Inhalte der index.html
-Datei sehen.
Ändern Sie die Datei wie in der vorherigen Aufgabe auf dem Host-System und lasse Sie sich diese Änderungen über ein Refresh Ihres Browser anzeigen.
Erstellen Sie eine Docker-Compose-Datei, die eine Anwendung startet, die eine Umgebungsvariable verwendet, um eine Konfiguration anzupassen.
Verwenden Sie ein beliebiges Image
Nutzen Sie das command Element und führend damit folgenden Befehl aus:
sh -c "echo Hallo $$MSG"
Setzen Sie mit dem environment Element eine Umgebungsvariable MSG
und weisen Ihr den Wert "Welt" zu.
Führen Sie den Befehl docker-compose up
aus. Die Anwendung wird gestartet und sollte "Hallo Welt" ausgeben.
Ihre Ausgabe sollte ähnlich zu folgender sein:
Löschen Sie nun den environment Eintrag aus der docker-compose.yml Datei.
Legen Sie im gleichen Ordner, eine Datei an mit dem Namen .env
Schreiben Sie in die Datei eine Variable
Ändern Sie nun in der docker-compose.yml Datei den command Eintrag wie folgt
sh -c "echo Hallo ${msg}
Führen Sie den Befehl docker-compose up
aus. Die Anwendung wird gestartet und sollte "Hallo Welt" ausgeben.
Ihre Ausgabe sollte ähnlich zu folgender sein:
Hinweis: Über die Syntax ${variablenname}
wird in Docker Compose auf Variablen zugegriffen.
Erstellen Sie ein Compose-Projekt, das eine Datenbank enthält und einen Persistenten Speicher für die Daten verwendet.
Verwenden Sie das MySQL 5.7 Image
Nutzen Sie ein Named Volume mit dem Namen db_data
Stellen Sie sicher, dass sie Datenbank, User und Passwort mittels Umgebungsvariablen setzen (entweder in der Compose-Datei oder in einer .env-Datei)
Erstellen Sie ein Compose-Projekt, das eine Datenbank wie aus Aufgabe 3, ein Webserver wie aus Aufgabe 1 und zusätzlich ein Node.js Server startet.
Stellen Sie mittels depends_on sicher, dass der MySQL Server vor dem Node-Server startet.
Erweitern Sie das vorhandene Docker-Compose-Projekt aus Übung 4, um die Skalierung des Backend-Dienstes zu ermöglichen.
Variante 1: Nutzen Sie das deploy Element um 3 Replicas des Backends zu erzeugen.
Variante 2: Entfernen Sie das deploy-Element und starten Sie Compose mit folgendem Befehl:
docker-compose up --scale backend=3
In beiden Fällen sollten Ihre Container ungefähr so in Docker Desktop dargestellt werden:
Ändern Sie die Compose-Datei zurück in Variante 1 und starten Sie das Projekt mit dem Befehl aus Variante 2. Wie viele Backend Container werden durch diese Kombination gestartet?