Zum Hauptinhalt springen

Containerisieren und Starten

info

Die Dateien zur Aufgabe befinden sich im Übungsrepository.

Apps containerisieren und Ausführen​

In diesem Beispiel wird eine einfache API und ein Frontend-Webserver mit Docker-Compose gebaut und gestartet.

Struktur​

Die Applikation besteht aus zwei Teilen, einer API und einem Frontend (UI). Die jeweiligen Applikationen befinden sich in eigenen Ordnern (api/ und ui/).

.
├── api/
├── solution/ <- erst zur Prüfung anschauen!
├── ui/
└── README.md

API​

Die API ist ein nodejs Applikation die mit folgenden Befehlen gestartet werden kann.

npm install
node index.js

Die Applikation startet auf Port 3000

UI​

Das UI besteht nur aus einer Datei, der index.html. Diese Datei soll mit einem nginx Webserver auf Port 80 gestartet werden.

Aufgabe​

  • Erstelle für Api und Ui jeweils ein Dockerfile.
    • Baue und starte diese einzeln.
    • Die API soll auf Port 3000 und das Frontend auf Port 80 laufen.
  • Erstelle ein Docker-Compose File, welches die beiden Container zusammen startet.
    • Die API soll auf Port 3000 und das Frontend auf Port 8070 laufen.
    • Der interne Port 80 vom Nginx muss auf 8070 gemappt werden.
    • Der interne Port 3000 der API bleibt gleich, muss aber verfügbar gemacht werden.
  • Starte die Container mit docker-compose up -d und rufe die Webseite auf via http://localhost:8070
  • Stoppe die Container mit docker-compose down.

Quelle