GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bringen Sie podman unter Windows mit Linux zum Laufen

WSL 2, die zweite Iteration des Windows-Subsystems für Linux, ermöglicht es Ihnen, eine Linux-Umgebung nativ unter Windows auszufü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 von Linux gewohnt sind.

Diese Anleitung zeigt Ihnen, wie Sie WSL 2-Gästen ermöglichen, den podman auszuführen , skopeo , oder buildah Befehle innerhalb von Windows mit der Linux-Distribution Ihrer Wahl (erhältlich im Microsoft Store). Von einem Fedora-Linux-Host-Betriebssystem-Startpunkt kommend, war ich neugierig, wie man Tools, mit denen ich am besten vertraut bin, innerhalb von Windows aktivieren und verwenden kann.

Voraussetzung:WSL 2

Um WSL 2 zu installieren, gehen Sie zur WSL-Installationsseite.

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 Dateisystemzugriff.

Mit dem folgenden Befehl und der Ausgabe in einem der Gäste können Sie 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 Änderungen in Ihren Gästen können die Integration noch nahtloser gestalten, einschließlich symbolischer Verknüpfung verschiedener Home-Verzeichnisdateien (.aws, .sh, .config usw.). Es gibt einen Hinweis darauf, wie dies direkt aus dem $HOME-Verzeichnis heraus erreicht werden kann:

Installieren Sie eine Linux-Distribution

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

Für diesen Artikel verwende ich Fedora, aber es stehen auch andere Distributionen zum Ausprobieren zur Verfügung. Podman funktioniert gut über Distributionen hinweg, sodass Sie jede Distribution verwenden können, mit der Sie am besten vertraut sind. Möglicherweise sind einige geringfügige Konfigurationsanpassungen erforderlich, aber diese sind im Allgemeinen in der Distributions- und Podman-Dokumentation dokumentiert. 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 zugehörige Technologien installiert. Sie werden aufgefordert, ein Passwort für den ersten Benutzer auszuwählen (der sudo-Zugriff erhält).

Podman installieren

Sobald 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 über PowerShell oder die Eingabeaufforderung zugänglich und nutzbar:

buildah installieren und verwenden und skopeo Befehlen ist genau derselbe Vorgang.

Busybox-Test

Als einfacher Test, um podman zu sehen Bei der Arbeit können Sie einen Busybox-Container ziehen und ausführen. BusyBox ist ein Open-Source-Projekt (GPL), das einfache Implementierungen von fast 400 gängigen Befehlen bereitstellt, darunter 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.

Suchen Sie zunächst im 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 diejenige aus, die 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 mit beenden verlassen Befehl.

Linux-Container

  • Was sind Linux-Container?
  • Eine Einführung in die Containerterminologie
  • Download:Einführung in Container
  • Kubernetes-Operatoren:Automatisierung der Container-Orchestrierungsplattform
  • eBook:Kubernetes-Muster zum Entwerfen cloudnativer Apps
  • Was ist Kubernetes?

Loslegen

Ich gebe zu, ich war überrascht, wie bereitwillig die aktuellen Linux-Distributionen da draußen, Podman, und das Windows-Subsystem hier zusammengearbeitet haben. Es ist offensichtlich, dass viel großartige Arbeit in die Container-Tools von Windows und die Integration mit Linux geflossen ist. Ich hoffe, dass dieser Leitfaden anderen dabei hilft, diesen Ausgangspunkt leicht zu erreichen und produktiv zu werden.

Es gibt viele gute Kandidaten für eine gründliche Nachverfolgung, 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 kurze Arbeit damit machen wird, sie zu durchsuchen!


Linux
  1. Windows- und Linux-Interoperabilität:Ein Blick auf Samba

  2. Erhalten Sie Mausdeltas mit Python! (unter Linux)

  3. Automatisieren des ausgeführten Befehls unter Linux von Windows mit PuTTY

  4. Rufen Sie eine Liste der geöffneten Fenster in Linux ab

  5. Virtuelles Linux mit qemu unter Windows ausführen

So booten Sie Linux und Windows dual

Duales Booten von Windows und Linux über UEFI

So mounten Sie Windows Share unter Linux mit CIFS

So führen Sie Windows-Anwendungen und -Spiele unter Linux mit Wine aus

So führen Sie Linux-Apps unter Windows 10 und 11 mit WSL aus

Mit NitroShare können Sie Dateien ganz einfach zwischen Linux, Windows und Mac austauschen