Containersysteme mit Docker - Leischner

Praktikumsblatt 2 - Webserver

In der nachfolgenden drei Aufgabe sollen Sie zwei einfache Webserver erstellen. Damit Sie den Überblick über Ihre Dateien behalten, legen Sie auf Ihrem Arbeitsrechner zunächst ein Verzeichnis container-pr02 an. In dieses Verzeichnis kommen alle Dateien dieses Praktikumblatts.

 

Aufgabe 1 - Website

  1. Erstellen Sie ein Unterverzeichnis html (für die Inhaltsdateien der Website) und in diesem ein Unterverzeichnis assets (für alle Hilfsdateien).
  2. Erstellen Sie nun eine elementar strukturierte Webseite index.html, die drei (lizenzfreie) Bilder enthält. Die ersten beiden Bilder bild01.jpg und bild02.jpg werden im Verzeichnis assets bereitgestellt. Das dritte Bild befindet sich auf einem externen Server.
  3. Die Formatierung der Datei erfolgt über CSS mit Hilfe der Datei assets/styles.css.
  4. Testen Sie Ihre Webseite lokal mit Ihrem Browser.

 

Aufgabe 2 - Webserver (dynamisch)

Wir möchten auf Basis von Docker einen Webserver WebServ_dyn aufsetzen, der unsere Webseite aus dem Subdirectory html auf unserem lokalen Rechner unter http://127.0.0.1:12200 zur Verfügung stellt. Die Portnummer 11200 ist folgendermaßen strukturiert:

  • 1 steht für die Lehrveranstaltung Containersysteme,
  • 2 für Praktikumsblatt 2 und
  • 2 für Aufgabe 2 auf dem Praktikumsblatt, die letzten Ziffern
  • 00 stehen für Ihre Arbeitsgruppe (00 steht hier für Arbeitsgruppe "Leischner").

Es soll ein "dynamischer" Server sein, d.h. falls wir Änderungen an unsere Webseite im Verzeichnis html vornehmen, sollen diese entsprechend von unserem Webserver WebServ_dyn ausgeliefert werden.

  1. Erstellen Sie einen Anforderungskatalog für die Auswahl eines geeigneten Docker-Images. Wählen Sie aus dem Dockerhub ein geeignetes Docker-Image aus und begründen Sie Ihre Auswahl basierend auf Ihrem Anforderungskatalog. Ist die Verwendung des Tags latest sinnvoll? Diskutieren Sie dies vor dem Hintergrund: Docker: The latest Confusion .
    Welches Dockerimage haben Sie gewählt (genaue Angabe repository_name:tag_name ):
  2. Erstellen Sie im Unterverzeichnis pr01a2 für den Webserver Webserv_dyn einen Dockerfile. Erzeugen Sie ein Image mit dem Tag pr02a2-img und lassen Sie dieses als pr02a2-Webserv_dyn unter http://127.0.0.1:12200 lokal laufen.
  3. Wie lautet das genaue docker run Kommando. Erklären Sie jeden Bestandteil.
  4. Testen Sie Ihren Webserver, indem Sie Änderungen an Ihrer Webseite vornehmen und dann überprüfen.

 

Aufgabe 3 - Webserver (statisch)

  1. Erstellen Sie im Unterverzeichnis pr02a3 einen Dockerfile für den Webserver Webserv_stat , der die Website in html/ als statische Website bereitstellt. Erzeugen Sie aus dem Dockerfile ein Image mit dem Tag pr02a3-img und lassen Sie dieses als pr01a3-Webserv_stat unter  http://127.0.0.1:12200 lokal laufen.
  2. Kann diese Website nachträglich noch verändert werden? Wenn ja, wie? Diskutieren Sie Vor- und Nachteile für diesen Ansatz. Was sind typische Anwendungsfälle?

 

Aufgabe 4 - FAQ zu Docker

Beantworten Sie die folgenden Fragen aus einem FAQ zu Docker:

  1. Was ist Docker, wofür soll es überhaupt gut sein?
  2. Geht Docker nur auf der Kommandozeile?
  3. Was ist der Unterschied zwischen Virtualisierung und Containern?
  4. Nach umfangreichen Experimenten mit verschiedenen Docker-Containern sind zig GByte freier Plattenplatz verschwunden. Wie findet man heraus, wo der abgeblieben ist?
  5. Wie kann man am einfachsten eine überarbeitete Datei in einen laufenden Container hineinbringen?
  6. Wo findet man fertige Container-Images, wenn man nicht gleich selbst Container bauen will?
  7. Welcher Begriff ist denn jetzt eigentlich der richtige: Container oder Image?
  8. Wie gelangen Sicherheitsupdates in einen Container?

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 12.09.2022-10.46