Einführung
In dieser Herausforderung lernen Sie, wie Sie einen Podman-Container so konfigurieren, dass er automatisch als systemd-Benutzerdienst startet. In Red Hat Enterprise Linux (RHEL)-Umgebungen ist dies die empfohlene Methode, um sicherzustellen, dass Ihre containerisierten Anwendungen nach einem Systemneustart sofort wieder verfügbar sind. Durch den Abschluss dieser Übung sammeln Sie praktische Erfahrung in der Verwaltung des Lebenszyklus von Containern mit podman und deren Integration in den systemd-Initialisierungsprozess des Systems – eine Kernkompetenz für jeden Systemadministrator.
Container für den automatischen Start als systemd-Dienst konfigurieren
In diesem Abschnitt richten Sie einen Container so ein, dass er automatisch als systemd-Dienst verwaltet wird. Dies stellt sicher, dass Ihre Dienste dauerhaft laufen und erreichbar bleiben.
Aufgaben
Ihr Ziel ist es, einen Nginx-Webserver in einem Podman-Container zu betreiben und diesen so zu konfigurieren, dass er beim Hochfahren des Systems automatisch startet.
- Erstellen und starten Sie einen
podman-Container auf Basis des Imagesnginx:latest. - Erzeugen Sie eine
systemd-Benutzerdienstdatei für diesen Container. - Aktivieren Sie den Dienst für den Benutzer
labex, damit dieser automatisch startet. - Aktivieren Sie das sogenannte "Lingering" für den Benutzer
labex. Dies stellt sicher, dass der Dienst bereits beim Bootvorgang startet, auch wenn keine aktive Benutzersitzung besteht. - Überprüfen Sie, ob der Container ordnungsgemäß läuft und der Nginx-Dienst erreichbar ist.
Anforderungen
- Verwenden Sie für alle Aufgaben der Container-Verwaltung ausschließlich
podman. - Als Container-Image muss
docker.io/library/nginx:latestverwendet werden. - Der Name des Containers muss
my-nginxlauten. - Der Host-Port
8080muss auf den Container-Port80weitergeleitet werden. - Die
systemd-Dienstdatei muss mit dem Befehlpodman generate systemderstellt werden. - Die generierte Datei muss unter dem Pfad
~/.config/systemd/user/container-my-nginx.servicegespeichert werden. - Das Lingering für den Benutzer
labexmuss überloginctlaktiviert werden.
Beispiel
Nach erfolgreichem Abschluss der Konfiguration sollten Sie die Nginx-Willkommensseite über den Befehl curl http://localhost:8080 aufrufen können. Die Ausgabe sollte wie folgt aussehen:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie mit podman einen Container erstellen und anschließend einen systemd-Benutzerdienst generieren, um dessen Lebenszyklus zu steuern. Sie haben den Dienst für den automatischen Start konfiguriert und das Lingering aktiviert, um die Verfügbarkeit ab dem Systemstart zu gewährleisten. Dieser Prozess ist essenziell für den Betrieb ausfallsicherer, containerisierter Anwendungen auf RHEL und bietet eine robuste Alternative zu herkömmlichen Skriptlösungen.



