Einen Dienst innerhalb eines Containers ausführen

DockerIntermediate
Jetzt üben

Einführung

In dieser Herausforderung üben Sie die Verwaltung von containerisierten Diensten auf einem Red Hat Enterprise Linux System. Ihre Aufgabe besteht darin, ein benutzerdefiniertes Container-Image für einen Webserver zu erstellen, einen Container auf Basis dieses Images auszuführen und sicherzustellen, dass der Dienst vom Host-System aus erreichbar ist. Diese Übung deckt grundlegende Fähigkeiten für die Bereitstellung und Verwaltung von Anwendungen in Containern ab – eine Kernkompetenz für jeden Red Hat Certified System Administrator.

Einen Dienst innerhalb eines Containers ausführen

In dieser Aufgabe erstellen Sie ein individuelles Container-Image, das den Apache HTTP Server (httpd) enthält. Sie werden eine einfache HTML-Datei erstellen, die vom Webserver bereitgestellt wird, und einen Container aus Ihrem eigenen Image starten. Abschließend überprüfen Sie, ob der Webdienst ordnungsgemäß läuft und vom Host aus erreichbar ist.

Aufgaben

  • Erstellen Sie ein benutzerdefiniertes Container-Image, das den Apache HTTP Server (httpd) enthält.
  • Erstellen Sie eine einfache HTML-Datei, die vom Webserver ausgeliefert werden soll.
  • Starten Sie einen Container aus Ihrem Image und geben Sie den Webdienst frei.
  • Überprüfen Sie, ob der Webdienst korrekt funktioniert und vom Host-System aus zugänglich ist.

Anforderungen

  • Alle Dateien müssen im Verzeichnis ~/project erstellt werden.
  • Erstellen Sie ein Dockerfile, das das Basis-Image ubi9 verwendet.
  • Das Dockerfile muss das Paket httpd installieren.
  • Erstellen Sie eine Datei namens index.html, die den Text Hello, World! innerhalb eines <h1>-Tags enthält.
  • Erstellen Sie das Container-Image und vergeben Sie den Tag my-web-server.
  • Starten Sie einen Container im Hintergrund basierend auf dem Image my-web-server.
  • Der Container muss den Namen my-web-server-run tragen.
  • Der Webserver im Container muss auf Port 80 lauschen, und dieser Port muss auf Port 8080 des Hosts weitergeleitet werden.

Beispiel

Nach dem erfolgreichen Start des Containers sollte der Befehl curl localhost:8080 in Ihrem Terminal eine Ausgabe wie diese erzeugen:

<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie man einen Dienst auf einem Red Hat Enterprise Linux System containerisiert. Sie haben erfolgreich ein Dockerfile erstellt, um eine benutzerdefinierte Umgebung zu definieren, ein Container-Image mit podman erstellt und einen Container zum Hosten eines Webservers gestartet. Zudem haben Sie geübt, den Status eines laufenden Containers zu überprüfen und dessen Netzwerkdienst zu testen. Dies sind essenzielle Fähigkeiten für die moderne Anwendungsbereitstellung und Systemadministration.

✨ Lösung prüfen und üben