Wenn viele erfahrene Techniker über die Zukunft der Technologie sprechen, wissen sie, dass Virtualisierung und Containerisierung genau dieser Weg sind. Sie ermöglichen eine höhere Anwendungs- und Dienstsicherheit und können problemlos über andere Dienste verwaltet werden, die Snapshots, Vorlagen und eine größere Anpassung ermöglichen, als dies mit dem Modell mit einem Server pro Anwendung möglich ist. Es ist jedoch nicht immer ganz klar, wie Sie mit der Virtualisierung und Containerisierung beginnen sollen. Wir haben die Virtualisierung unter Linux, Windows und MacOS schon oft behandelt, aber die Containerisierung ist in der Regel etwas anderes. In diesem Artikel erhalten Sie eine Anleitung für Anfänger zu Podman unter Linux, einem großartigen Tool für die Containerisierung.
Was sind Container?
Container sind im Wesentlichen kleine virtuelle Maschinen – aber nur für Anwendungen. Sie verwenden viele der gleichen Konzepte und verfügen über die gleichen Sicherheits- und Benutzerfreundlichkeitsfunktionen, sind jedoch viel kleiner und ermöglichen eine einfache Abbildung und Verteilung einer Anwendung. Dies ist eine Menge, worauf Flatpaks und Snaps basieren. Sie können die Parallelen erkennen: ein Programm, mehrere Anwendungen, die in isolierten Umgebungen ausgeführt werden.
Was ist Podman?
Viele von uns haben von Docker gehört, dem OG der Containermotoren. Podman ist eine ähnliche Container-Engine, die eine sehr ähnliche Struktur wie Docker verwendet, mit einigen wesentlichen Unterschieden.
Einer ist, dass Podman daemonless ist, während Docker auf einem Daemon basiert. Dies bedeutet, dass Podman-Container ohne Berechtigungen auf Stammebene arbeiten können, was mehr Sicherheit und Flexibilität bietet. Ein Container, der auf Benutzerebene ausgeführt wird, bedeutet, dass Benutzer nur ihre Container und die von niemand anderem sehen können. Podman schont die Systemressourcen aufgrund der einfacheren Architektur, die für eine angenehmere Erfahrung sorgt.
Die daemonlose Architektur führt zu sogenannten rootless Containern. Es ist ein Konzept, das auf dem vorherigen Unterschied aufbaut, sich aber auf die Sicherheit konzentriert. Wenn ein Angreifer Ihren Container kompromittiert und aus irgendeinem Grund entkommen kann, verfügt er nur über grundlegende Benutzerberechtigungen und nicht über Root-Berechtigungen. Dies erfordert einige zusätzliche Einstellungen, um loszulegen, und es gibt im Moment einige Mängel, aber es ist etwas, das einen Blick wert ist.
Podman installieren
Für die meisten Distributionen befindet sich Podman in den Haupt-Repositorys, was es zu einem einfachen Installationsbefehl macht:
# Debian/Ubuntu sudo apt install podman # Fedora/CentOS/Redhat sudo dnf install podman # Arch Linux sudo pacman -S podman # OpenSUSE sudo zypper install podman # Gentoo sudo emerge app-emulation/podman
Podman verwenden
Die Befehlssyntax zum Starten eines Podman-Containers kann etwas verwirrend sein, aber sobald Sie den Dreh raus haben, werden Sie die Muster erkennen. Es gibt einen Beispielcontainer aus dem Projekt, den Sie ausführen können, indem Sie diesen Befehl in das Terminal eingeben:
podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d -e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
Dadurch werden einige Bilder aus der aufgelisteten Registrierung abgerufen, und sobald dies erledigt ist, erhalten Sie eine lange Nummer. Das werden Sie später sehen, wenn Sie überprüfen, ob Container ausgeführt werden.
Geben Sie den folgenden Befehl ein, um die Ausführung von Podman-Containern zu überprüfen:
podman ps

Sie sehen den Container, den Sie zuvor gestartet haben. Dies bestätigt, dass es läuft. Wenn Sie sich jedoch die von Apache ausgeführte Webseite genauer ansehen möchten, führen Sie den folgenden Befehl aus:
curl http://0.0.0.0:8080
Ersetzen 0.0.0.0
mit welcher IP-Adresse auch immer angezeigt wird, wenn Sie die ausgeführt haben podman ps
Befehl. Sie sollten eine Menge verstümmeltes HTML erhalten, aber wenn Sie ganz oben schauen, werden Sie die Syntax für einen Titel in HTML bemerken und wissen, dass es funktioniert.
<title>Test Page for the Apache HTTP Server on Fedora</title>
Podman Bilder
Das Schöne an Podman ist die Verwendung von Bildern. Sie können nach anderen Bildern wie dem suchen httpd
oder andere Programme, die Sie ausführen möchten.
podman search CONTAINERNAME
Ich habe gesucht vncserver
und das habe ich bekommen. Sie können sehen, dass es viele Optionen gibt, und es kommt nur auf Ihre persönlichen Vorlieben an.

Führen Sie die aus, um eines dieser Bilder aufzunehmen podman pull
Befehl.
podman pull CONTAINERNAME
Es wird empfohlen, dass Sie die vollständige URL abrufen, damit die Containerregistrierung vollständig korrekt ist. Der Befehl, den ich ausführe, lautet beispielsweise:
podman pull docker.io/michaelaboeckler/vncserver
anstatt nur zu rennen podman pull vncserver
weil es möglicherweise Bilder gibt, die ich nicht möchte, werden diese anstelle der Bilder ausgewählt, die ich möchte.

Sie können Ihre Bilder auch mit diesem Befehl überprüfen:
podman images
Und stoppen Sie Container mit diesem Befehl:
podman stop -l
Das -l
Flag bedeutet, dass der letzte Ausführungscontainer gestoppt wird. Sie können jedoch auch den verwenden -a
Flag, um alle Container zu stoppen.
Möglicherweise haben Sie bemerkt, dass Podman auch auf docker.io nach Container-Bildern suchen kann. Das liegt daran, dass die Podman-Befehle und die Docker-Befehle im Wesentlichen identisch sind – so sehr, dass manchmal empfohlen wird, den Alias zu verwenden docker
Befehl an podman
so was:
alias docker='podman'
Dies bedeutet, dass Sie jedes Mal eingeben docker
wird Ihre Maschine die ausführen podman
Befehl trotzdem.
Wurzelloser Podman
Um Ihr System für rootless Container einzurichten, müssen einige Einstellungen vorgenommen werden, aber es gibt eine großartige Dokumentation zu diesen Github Seite.
Ich hoffe, Ihnen hat diese Einführung auf Podman gefallen, einem großartigen kleinen Tool, mit dem Sie daemonlose, wurzellose Container ausführen können, um Ihr System schlank, ordentlich und sicher zu halten. Wenn Sie dies getan haben, lesen Sie einige unserer anderen Containerinhalte, z. B. unsere Anleitungen zum Ausführen von Ubuntu in einem Container in ChromeOS, zum Kopieren von Docker-Containern auf einen anderen Host und zum Begrenzen der Docker-Container-Ressourcen.
Verbunden:
-
So richten Sie einen lokalen Webserver ein (Windows, Mac, Linux)
-
So verwalten Sie Ihr Linux-System mit Cockpit
-
So installieren Sie Docker unter Linux