ADMIN

2022

12

2022-11-29T12:00:00

Clientmanagement und Support

PRAXIS

062

Open-Source-Tipp

Virtualisierung

Container Manager

Podman Desktop

Einfaches Container-Handling

von Thorsten Scherf

Veröffentlicht in Ausgabe 12/2022 - PRAXIS

Mit Podman Desktop steht endlich eine offizielle grafische Benutzeroberfläche für die Verwaltung von Containern zur Verfügung. Das Tool setzt standardmäßig die Podman-Container-Engine ein, kann bei Bedarf aber beispielsweise auch die Docker-Engine verwenden. Der Open-Source-Tipp in diesem Monat stellt das Werkzeug vor.

Anders als Docker stellt Podman [1] ein leichtgewichtiges Toolset zur Verfügung, um Container zu erzeugen und zu verwalten. Das Werkzeug ist kompatibel mit der OCI-Container-Spezifikation [2], verzichtet dabei allerdings komplett auf den Einsatz eines Daemons.
Im August 2022 wurde Podman in der Version 4.2.0 veröffentlicht. Die aktuelle Version bringt viele Verbesserungen insbesondere auch für den Betrieb auf mac­OS- und Windows-Systemen mit sich. Die Engine steht auf diesen Plattformen nativ nicht zur Verfügung, da der Betrieb zwingend einen Linux-Kernel voraussetzt. Mithilfe von podman machine erzeugen Sie allerdings ganz bequem und ohne großen manuellen Aufwand eine virtuelle Maschine auf Basis von Fedora CoreOS.
Die Podman-Managementtools können Sie dann auf den genannten Plattformen einsetzen, die Container selbst laufen allerdings innerhalb der virtuellen Maschine ab. Die Kommunikation zwischen den Managementtools und den Containern erfolgt dabei über das varlink-Protokoll [3]. Listing 1 zeigt ein Beispiel für die Installation der Podman-Engine auf einem macOS-System. Mithilfe des Paketmanagers "brew" installieren Sie in diesem Fall zuerst die Podman-Managementtools und starten dann die Installation des virtuellen Fedora-CoreOS-Systems.
Anders als Docker stellt Podman [1] ein leichtgewichtiges Toolset zur Verfügung, um Container zu erzeugen und zu verwalten. Das Werkzeug ist kompatibel mit der OCI-Container-Spezifikation [2], verzichtet dabei allerdings komplett auf den Einsatz eines Daemons.
Im August 2022 wurde Podman in der Version 4.2.0 veröffentlicht. Die aktuelle Version bringt viele Verbesserungen insbesondere auch für den Betrieb auf mac­OS- und Windows-Systemen mit sich. Die Engine steht auf diesen Plattformen nativ nicht zur Verfügung, da der Betrieb zwingend einen Linux-Kernel voraussetzt. Mithilfe von podman machine erzeugen Sie allerdings ganz bequem und ohne großen manuellen Aufwand eine virtuelle Maschine auf Basis von Fedora CoreOS.
Die Podman-Managementtools können Sie dann auf den genannten Plattformen einsetzen, die Container selbst laufen allerdings innerhalb der virtuellen Maschine ab. Die Kommunikation zwischen den Managementtools und den Containern erfolgt dabei über das varlink-Protokoll [3]. Listing 1 zeigt ein Beispiel für die Installation der Podman-Engine auf einem macOS-System. Mithilfe des Paketmanagers "brew" installieren Sie in diesem Fall zuerst die Podman-Managementtools und starten dann die Installation des virtuellen Fedora-CoreOS-Systems.
Listing: CoreOS-System erzeugen
### Das Kommando "podman machine" erzeugt ein virtuelles Fedora CoreOS System. # brew install podman v # podman machine init # podman machine start # podman machine ssh Connecting to vm podman-machine-default. To close connection, use `~.` or `exit` Fedora CoreOS 36.20220918.2.2 Tracker: https://github.com/coreos/fedora-coreos-tracker Discuss: https://discussion.fedoraproject.org/tag/coreos [core@localhost ~]$ cat /etc/redhat-release Fedora release 36 (Thirty Six)
Grafisches Benutzerinterface
Anfang 2022 begann seitens der Entwickler die Arbeit an Podman Desktop. Hierbei handelt es sich um eine Art Gegenstück zu Docker Desktop [4] – also eine grafische Benutzeroberfläche, mit der Sie ganz bequem die vorhandenen Container und Images verwalten und natürlich auch neue Container und Images erzeugen. Mittels Plug-ins können Sie neben Podman sogar weitere Container-Engines wie beispielsweise Docker und Lima einbinden. Somit stellt Podman Desktop ein einheitliches Benutzerinterface für sämtliche Container Ihrer lokalen Umgebung zur Verfügung.
Grundvoraussetzung für die Installation von Podman Desktop ist eine aktuelle Version der Podman-Engine, mindestens 4.x. Diese wird allerdings von den allermeisten Linux-Distributionen bereits zur Verfügung gestellt. Podman Desktop steht sowohl als flatpak [5] als auch ZIP-Datei zur Installation bereit. Das ZIP-Archiv enthält bereits eine ausführbare Datei. Haben Sie auf Ihrem System die flatpak-Software installiert, können Sie Podman Desktop auch ganz einfach mittels des folgenden Kommandos installieren:
flatpak install io.podman_desktop.PodmanDesktop
Flatpak kümmert sich in dem Fall automatisch darum, auch sämtliche Abhängigkeiten aufzulösen, und installiert diese direkt mit. Mittels flatpak list erhalten Sie dann eine Übersicht der installierten Pakete.
Schließlich starten Sie Podman Desktop mit dem folgenden Befehl:
flatpak run io.podman_desktop.PodmanDesktop
Hat soweit alles geklappt und die Software findet eine lokale Podman-Engine-Installation, sehen Sie eine Begrüßungsbildschirm. Ist keine lokale Podman-Engine-Installation vorhanden, können Sie an dieser Stelle eine Fedora-CoreOS-Installation vornehmen. Die Installation erfolgt dann direkt aus der grafischen Oberfläche heraus und entspricht dem Aufruf von podman machine in einem Terminal. Sind bereits Container oder Images auf den lokalen Systemen vorhanden, zeigt die Software diese direkt an.
Installation
Die Installation auf macOS- und Windows-Systemen gestaltet sind ebenfalls recht unkompliziert. Auf der Downloadseite [6] finden Sie zur Installation von Podman Desktop auf einem Windows-System eine EXE-Datei. Für macOS gibt es ein entsprechendes DMG-File. Alternativ besteht hier auch die Möglichkeit, die Software mithilfe des Paketmanagers brew zu installieren.
Unter macOS und Windows steht die Podman Engine allerdings nicht zur Verfügung, sodass Sie nach der Installation der Software zwingend ein virtuelles System auf Basis von Fedora CoreOS erzeugen müssen. Podman Desktop erkennt allerdings die fehlende Engine und bietet an, diese direkt zu installieren. Auf Windows-Systemen muss zusätzlich noch das Windows Subsystem for Linux (WSLv2) vorhanden sein. Ist dieses noch nicht installiert, kümmert sich Podman Desktop auch um das Setup dieser Software.
Bild 1: Mittels flatpak installieren Sie Podman Desktop inklusive sämtlicher Abhängigkeiten.
Erste Schritte
Nach der Installation der Software können Sie über das Auswahlmenü auf der linken Seite die gewünschten Aktionen ausführen. Möchten Sie beispielsweise ein neues Image erzeugen, navigieren Sie über die Menüpunkte "Images / Build Image" auf eine Seite, wo Sie den Pfad zu einem Containerfile angeben können. Nachdem Sie dann einen Namen für das neue Image eingegeben haben, betätigen Sie die Schaltfläche "Build", um den eigentlichen Build-Prozess zu starten. Der ganze Vorgang wird innerhalb eines Terminals dargestellt, sodass Sie die einzelnen Schritte nachverfolgen können.
Hat dies soweit geklappt, taucht das neue Image innerhalb der Liste der bereitstehenden Images auf. Um auf Basis dieses Images nun einen neuen Container zu starten, können Sie direkt neben dem Image auf den "Run Image"-Button klicken. Nachdem Sie einen Namen für den neuen Container eingegeben haben, wird dieser dann auch unmittelbar gestartet und taucht im Menü "Containers" auf. An dieser Stelle haben Sie die Möglichkeit, den Container zu verwalten – also beispielsweise erneut zu starten, zu stoppen oder auch Logdateien einzusehen oder mithilfe eines Terminals direkten Zugriff auf den Container zu bekommen.
An dieser Stelle sei auch noch erwähnt, dass nach dem Starten der Software ein Applet innerhalb des Desktops zur Verfügung steht. Über dieses führen Sie sehr einfach die wichtigsten Aktionen innerhalb von Podman Desktop aus.
Bild 2: Ist keine Podman Engine vorhanden, führt Podman Desktop die Installation innerhalb einer virtuellen Maschine aus.
Fazit
Mit Podman Desktop gibt es endlich ein grafisches Frontend für die Podman-Container-Engine. Jedoch lassen sich auch andere Container Manager, beispielsweise die Docker Engine, einbinden, sodass ein Zugriff auf die komplette Containerlandschaft eines lokalen Systems möglich ist. Die Software befindet sich in einem noch recht frühen Stadium, allerdings sind die meisten Basisfunktionen bereits implementiert.
(dr)
Link-Codes
[1] Podman-Container-Engine: https://podman.io/
[2] OCI-Container-Spezifikation: https://github.com/opencontainers/runtime-spec/
[3] varlink-Protokoll: https://varlink.org/
[6] Podman-Desktop-Installationsdateien: https://podman-desktop.io/downloads/