WSL 2, druhá iterace subsystému Windows pro Linux, vám umožňuje spouštět linuxové prostředí nativně na Windows, bez režie virtuálního stroje (VM). Skvěle se integruje i s Windows a poskytuje vám přístup k většině nástrojů příkazového řádku, utilitám a aplikacím, na které jste v Linuxu zvyklí.
Tato příručka vám ukáže, jak povolit hostům WSL 2 spouštět podman
, skopeo
nebo buildah
příkazy z Windows pomocí distribuce Linuxu dle vašeho výběru (dostupné v obchodě Microsoft). Pocházel jsem z výchozího bodu hostitelského OS Fedora Linux a byl jsem zvědavý, jak povolit a používat nástroje, které nejlépe znám z Windows.
Předpoklad:WSL 2
Chcete-li nainstalovat WSL 2, přejděte na stránku instalace WSL.
Pomocí Powershell se ujistěte, že je WSL 2 ve výchozím nastavení povoleno:
PS> wsl –set-default-version 2
Informace o klíčových rozdílech mezi WSL 1 a WSL 2 naleznete v dokumentaci WSL.
Subsystém Windows pro Linux ušel dlouhou cestu. Microsoft tvrdě pracoval na tom, aby bylo oddělení mezi hostitelským operačním systémem Windows a hostujícím operačním systémem Linux prakticky neviditelné. Speciální ovladače v jádrech každého systému usnadňují spouštění příkazů mezi různými shelly a příkazovými okny a umožňují vzájemný přístup k souborovému systému.
Můžete potvrdit, že správně používáte jádro WSL 2 pomocí následujícího příkazu a výstupu v libovolném z hostů:
$ 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
Hosté WSL 1 hlásí verzi jádra jako 4.14 nebo podobnou.
Malé úpravy vašich hostů mohou integraci ještě více učinit bezproblémovou, včetně symbolického propojování různých souborů domovského adresáře (.aws, .sh, .config atd.). Existuje nápověda, jak toho lze dosáhnout přímo z adresáře $HOME:
Nainstalujte distribuci Linuxu
Chcete-li nainstalovat distribuci Linuxu, najděte si svou oblíbenou v obchodě Microsoft Store.
Pro tento článek používám Fedoru, ale jsou k dispozici k vyzkoušení i jiné distribuce. Podman funguje dobře napříč distribucemi, takže můžete použít jakoukoli distribuci, kterou znáte nejlépe. Mohou být vyžadovány některé drobné úpravy konfigurace, ale ty jsou obecně dokumentovány distribucí a dokumentací podman. Vybral jsem si Fedoru, protože to byla distribuce, která nevyžadovala žádné další nastavení, aby fungoval nejnovější podman.
Při prvním spuštění se nainstaluje virtuální počítač a související technologie. Budete vyzváni k výběru hesla pro prvního uživatele (který získá sudo přístup).
Nainstalovat podman
Jakmile je vaše distribuce Linuxu nainstalována a nakonfigurována pomocí uživatele, můžete nainstalovat podman jako obvykle:
$ sudo dnf install podman
Po chvíli je podman nainstalován a připraven k použití. Můžete zkontrolovat, zda vše funguje podle očekávání:
$ 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
Odtud můžete vytvářet obrázky a používat podman jako obvykle.
Díky integraci WSL je podman dokonce přístupný a použitelný z PowerShellu nebo příkazového řádku:
Instalace a používání buildah
a skopeo
příkazů je přesně stejný proces.
Test Busybox
Jako jednoduchý test uvidíte podman
v práci můžete vytáhnout a spustit kontejner Busybox. BusyBox je projekt s otevřeným zdrojovým kódem (GPL), který poskytuje jednoduché implementace téměř 400 běžných příkazů, včetně ls, mv, ln, mkdir, more, ps, gzip, bzip2, tar
a grep
, což z něj dělá příhodně minimální prostředí pro kontejnery a jednoduché testy, jako je tento.
Nejprve vyhledejte ve výchozím úložišti obrázků kontejner Busybox. Můžete to udělat buď v terminálu Linux nebo v Powershell.
$ 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
Spusťte ten, který chcete vyzkoušet:
$ podman run -it docker.io/library/busybox
/ #
Můžete použít kontejner, spustit několik příkazů a ověřit, že vše funguje podle očekávání, a poté jej opustit s koncem příkaz.
Linuxové kontejnery
- Co jsou kontejnery systému Linux?
- Úvod do terminologie kontejnerů
- Stáhnout:Containers Primer
- Operátoři Kubernetes:Automatizace platformy pro orchestraci kontejnerů
- eKniha:Vzory Kubernetes pro navrhování cloudových nativních aplikací
- Co je Kubernetes?
Začínáme
Přiznám se, že mě překvapilo, jak ochotně spolupracovaly současné distribuce Linuxu, podman a podsystém Windows. Je zřejmé, že do kontejnerových nástrojů Windows a integrace s Linuxem bylo vynaloženo mnoho skvělé práce. Doufám, že tato příručka pomůže ostatním snadno se dostat do stejného výchozího bodu a začít být produktivní.
Existuje mnoho dobrých kandidátů na důkladné sledování, včetně práce se svazky, odhalování síťových služeb mezi hostem a hostitelem a odhalování schopností Linuxu v těchto kontejnerech. S tolika dostupnými nástroji pevně věřím, že komunita bude s jejich prokopáváním pracovat jen krátce!