Advertisements

Podman unter Windows mit Linux zum Laufen bringen

Mit WSL 2, der zweiten Iteration des Windows-Subsystems für Linux, können Sie eine Linux-Umgebung nativ unter Windows ausführen, ohne den Overhead einer virtuellen Maschine (VM). Es lässt sich auch gut in Windows integrieren und bietet Ihnen Zugriff auf die meisten Befehlszeilentools, Dienstprogramme und Anwendungen, die Sie unter Linux gewohnt sind.

In dieser Anleitung erfahren Sie, wie Sie WSL 2-Gästen die Ausführung der podman, skopeo, oder buildah Befehle innerhalb von Windows mit der Linux-Distribution Ihrer Wahl (im Microsoft Store erhältlich). Ausgehend von einem Fedora Linux-Hostbetriebssystem war ich neugierig, wie man Tools aktiviert und verwendet, mit denen ich am besten von Windows aus kenne.

Voraussetzung: WSL 2

Um WSL 2 zu installieren, rufen Sie die WSL-Installationsseite auf.

Verwenden Sie Powershell, um sicherzustellen, dass WSL 2 standardmäßig aktiviert ist:

PS> wsl –set-default-version 2

Informationen zu den wichtigsten Unterschieden zwischen WSL 1 und WSL 2 finden Sie in der WSL-Dokumentation.

Das Windows-Subsystem für Linux hat einen langen Weg zurückgelegt. Microsoft hat hart daran gearbeitet, die Trennung zwischen dem Host-Windows-Betriebssystem und dem Gast-Linux-Betriebssystem praktisch unsichtbar zu machen. Spezielle Treiber in den Kerneln jedes Systems erleichtern die Ausführung von Befehlen zwischen verschiedenen Shells und Befehlsfenstern und ermöglichen den gegenseitigen Zugriff auf das Dateisystem.

Sie können mit dem folgenden Befehl und der Ausgabe in einem der Gäste bestätigen, dass Sie den WSL 2-Kernel korrekt verwenden:

$ uname -a
Linux BLD 5.10.16.3-microsoft.standard-WSL2 #1 SMP Fri Apr 2 22:23:49
UTC 2021 x86_64 x86_64 GNU/Linux

WSL 1-Gäste melden eine Kernel-Version als 4.14 oder ähnlich.

Kleine Berührungen bei Ihren Gästen können die Integration noch nahtloser machen, einschließlich der Verknüpfung verschiedener Home-Verzeichnisdateien (.aws, .sh, .config usw.). Es gibt einen Hinweis, wie dies direkt aus dem Verzeichnis $HOME erreicht werden kann:

home_directory.png

(Stephen Cuppet, CC BY-SA 4.0)

Installieren Sie eine Linux-Distribution

Um eine Linux-Distribution zu installieren, suchen Sie Ihren Favoriten im Microsoft Store.

fedora_remix.png

Screenshot vom Kauf von Fedora Remix im Microsoft Store

(Stephen Cuppet, CC BY-SA 4.0)

Für diesen Artikel verwende ich Fedora, aber andere Distributionen sind zum Ausprobieren verfügbar. Podman funktioniert gut über alle Distributionen hinweg, sodass Sie jede Distribution verwenden können, mit der Sie am besten vertraut sind. Möglicherweise sind einige kleinere Konfigurationsanpassungen erforderlich, die jedoch im Allgemeinen in der Dokumentation der Distribution und des Podman dokumentiert sind. Ich habe mich für Fedora entschieden, weil es die Distribution war, die keine zusätzliche Einrichtung erforderte, um den neuesten Podman zum Laufen zu bringen.

Beim ersten Start werden die VM und die zugehörigen Technologien installiert. Sie werden aufgefordert, ein Passwort für den ersten Benutzer auszuwählen (der sudo-Zugriff erhält).

Podman installieren

Nachdem Ihre Linux-Distribution mit einem Benutzer installiert und konfiguriert wurde, können Sie podman wie gewohnt installieren:

$ sudo dnf install podman

Nach wenigen Augenblicken ist podman installiert und einsatzbereit. Sie können überprüfen, ob alles wie erwartet funktioniert:

$ podman info
host:
  arch: amd64
  buildahVersion: 1.22.3
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
[...]
version:
  APIVersion: 3.3.1
  OsArch: linux/amd64
  Version: 3.3.1

Von dort aus können Sie Bilder erstellen und Podman wie gewohnt verwenden.

Dank der WSL-Integration ist podman sogar von PowerShell oder der Eingabeaufforderung aus zugänglich und nutzbar:

power_shell.png

Screenshot-Beispiel von Windows PowerShell

(Stephen Cuppet, CC BY-SA 4.0)

Installation und Verwendung der buildah und skopeo Befehle ist genau der gleiche Prozess.

Busybox-Test

Als einfacher Test zu sehen podman Bei der Arbeit können Sie einen Busybox-Container abrufen und ausführen. BusyBox ist ein Open-Source-Projekt (GPL), das einfache Implementierungen von fast 400 gängigen Befehlen bietet, einschließlich ls, mv, ln, mkdir, more, ps, gzip, bzip2, tar, und grep, was es zu einer angemessen minimalen Umgebung für Container und für einfache Tests wie diesen macht.

Durchsuchen Sie zunächst das Standard-Image-Repository nach einem Busybox-Container. Sie können dies entweder in Ihrem Linux-Terminal oder in Powershell tun.

$ podman search busybox
INDEX       NAME                             DESCRIPTION                    
docker.io   docker.io/library/busybox        Busybox base image                  
docker.io   docker.io/radial/busyboxplus     Full-chain...
docker.io   docker.io/yauritux/busybox-curl  Busybox with CURL

Führen Sie das aus, das Sie ausprobieren möchten:

$ podman run -it docker.io/library/busybox
/ #

Sie können den Container verwenden, einige Befehle ausführen, um zu überprüfen, ob alles wie erwartet funktioniert, und ihn dann beim belassen Ausfahrt Befehl.

Linux-Container

Loslegen

Ich gebe zu, ich war überrascht, wie gut die aktuellen Linux-Distributionen, Podman und das Windows-Subsystem hier zusammenarbeiteten. Es ist offensichtlich, dass viel Arbeit in die Container-Tools von Windows und die Integration mit Linux gesteckt wurde. Ich hoffe, dass dieser Leitfaden anderen hilft, leicht zu diesem Startpunkt zu gelangen und produktiv zu sein.

Es gibt viele gute Kandidaten für ein tiefgreifendes Follow-up, einschließlich der Arbeit mit Volumes, der Bereitstellung von Netzwerkdiensten zwischen dem Gast und dem Host und der Bereitstellung von Linux-Funktionen in diesen Containern. Bei so vielen verfügbaren Tools bin ich sehr zuversichtlich, dass die Community kurzen Prozess damit machen wird, sie durchzustöbern!

Podman unter Windows mit Linux zum Laufen bringen

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top