Einführung
Als Systemadministrator, der mit Red Hat Enterprise Linux (RHEL) arbeitet, gehört der Umgang mit containerisierten Anwendungen zu Ihren Kernkompetenzen. In dieser Herausforderung nutzen Sie die Kommandozeilenwerkzeuge podman und skopeo, um grundlegende Aufgaben der Container-Verwaltung zu bewältigen. Sie üben das Herunterladen von Images aus einer öffentlichen Registry, das Ausführen dieser Images als Container, das Überprüfen ihrer Konfiguration und das Kopieren von Images in eine lokale Registry.
Container-Image herunterladen und ausführen
Ihre erste Aufgabe besteht darin, ein Container-Image aus einer öffentlichen Registry zu laden und auf Ihrem lokalen System zu starten. Sie verwenden hierfür das nginx-Webserver-Image, ein gängiges Beispiel zur Demonstration von Container-Funktionen.
Aufgaben
- Laden Sie das aktuellste
nginx-Container-Image aus derdocker.io-Registry mit dem Befehlpodmanherunter. - Starten Sie einen Container basierend auf dem
nginx-Image und stellen Sie sicher, dass dieser betriebsbereit ist.
Anforderungen
- Der
nginx-Container muss den Namenmy-nginxerhalten. - Der Container muss im Hintergrund laufen (Detached-Modus).
- Der Port
80des Containers muss auf den Port8080Ihres lokalen Rechners gemappt werden.
Beispiel
Nachdem der Container erfolgreich gestartet wurde, können Sie die Erreichbarkeit testen. Der Befehl curl sollte die Standard-Willkommensseite von Nginx zurückgeben.
$ curl http://localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</html>
Container inspizieren
Nachdem ein Container gestartet wurde, müssen oft detaillierte Informationen über dessen Konfiguration, Netzwerkeinstellungen und eingebundene Volumes abgerufen werden. Der Befehl podman inspect liefert diese Daten in einem strukturierten JSON-Format.
Aufgaben
- Inspizieren Sie den laufenden Container
my-nginx. - Leiten Sie die Ausgabe der Inspektion in eine Datei um.
Anforderungen
- Verwenden Sie den Befehl
podman inspect, um Details über den Containermy-nginxzu erhalten. - Speichern Sie die JSON-Ausgabe in einer Datei namens
nginx-inspect.jsonim Verzeichnis~/project/containers/.
Beispiel
Die Datei nginx-inspect.json wird ein umfangreiches JSON-Array mit allen Konfigurationsdetails des Containers enthalten. Sie können den Inhalt mit den Befehlen cat oder less betrachten.
$ cat ~/project/containers/nginx-inspect.json
[
{
"Id": "a933dd...c8e",
"Created": "2023-10-27T10:30:00.123456789Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
"State": {
...
Container-Image mit Skopeo kopieren
skopeo ist ein leistungsstarkes Werkzeug zum Verschieben von Container-Images zwischen verschiedenen Speichertypen, wie öffentlichen Registries, lokalem Speicher und privaten Registries. In diesem Schritt kopieren Sie das nginx-Image in eine lokale Container-Registry, die auf Ihrem Rechner läuft.
Standardmäßig übertragen Podman und Skopeo keine Images an unsichere (HTTP) Registries. Sie müssen Ihr System zuerst so konfigurieren, dass es der lokalen Registry vertraut, wobei das moderne v2-Konfigurationsformat für Registries verwendet wird.
Aufgaben
- Konfigurieren Sie Ihr System so, dass das Pushen von Images in die unsichere lokale Registry unter
localhost:5000erlaubt ist. - Verwenden Sie
skopeo, um das Imagenginx:latestvondocker.ioin Ihre lokale Registry zu kopieren. - Laden Sie das Image aus Ihrer lokalen Registry in den lokalen Speicher von Podman herunter, um zu prüfen, ob der Kopiervorgang erfolgreich war.
Anforderungen
- Bearbeiten Sie die Datei
/etc/containers/registries.conf, umlocalhost:5000als unsichere Registry im v2-Format zu konfigurieren. Hierfür benötigen Siesudo-Rechte. - Verwenden Sie
skopeo copy, um das Imagedocker.io/library/nginx:latestzu kopieren. - Das Ziel für das Image in der lokalen Registry soll
localhost:5000/my-local-nginx:latestsein. - Laden Sie nach dem Kopieren das Image mit
podman pullvonlocalhost:5000/my-local-nginx:latestherunter.
Zusammenfassung
In dieser Herausforderung haben Sie die wesentlichen Fertigkeiten für die Verwaltung von Containern auf einem Red Hat Enterprise Linux System erlernt. Sie haben erfolgreich podman eingesetzt, um ein Image herunterzuladen, es als benannten Container mit Port-Mapping auszuführen und dessen detaillierte Konfiguration zu inspizieren. Darüber hinaus haben Sie eine kritische Praxisaufgabe gemeistert: die Konfiguration einer unsicheren Registry und die Verwendung von skopeo, um ein Image von einer öffentlichen Quelle in eine private, lokale Registry zu kopieren. Diese Befehle sind grundlegende Werkzeuge für jeden Systemadministrator, der in einer modernen, containerisierten Umgebung arbeitet.



