GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a používat Podman (Docker Alternative)

Použili jste někdy Docker, ale zjistili jste, že je ve vašem systému příliš náročný na zdroje? Pokud ano, možná budete chtít vyzkoušet Podman, nový nástroj od Red Hat, který poskytuje alternativu k Dockeru.

Podman je nástroj navržený pro bezproblémové vytváření a správu kontejnerů. A v tomto tutoriálu si nainstalujete Podman a naučíte se některé základní scénáře použití. Nakonec se budete moci rozhodnout, zda je pro vás Podman tím správným nástrojem.

Připraveni? Čtěte dál a začněte spravovat kontejnery znovu!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující.

  • Počítač Linux – Tato ukázka používá Ubuntu 20.04 LTS, ale budou fungovat všechny distribuce Linuxu.
  • Uživatel bez oprávnění root s právy sudo.

Instalace Podmana na Ubuntu

Než budete spravovat kontejnery pomocí Podman, musíte si nejprve nainstalovat Podman na svůj počítač, protože není předinstalovaný ve vaší distribuci Linuxu.

Chcete-li nainstalovat Podman na Ubuntu, začněte aktualizací správce balíčků APT a přidáním úložiště balíčků Podman.

1. Otevřete svůj terminál a spusťte apt update níže, abyste zajistili instalaci nejnovějších aktualizací. Tento příkaz zajišťuje, že mezi vaším počítačem a úložištěm balíčků nebudou žádné neshody balíčků.

sudo apt update -y

2. Jakmile aktualizujete index balíčku, spusťte source níže uvedený příkaz ke spuštění /etc/os-release soubor jako skript. Tento příkaz zajistí, že váš počítač rozpozná, jakou verzi Ubuntu používáte.

Soubor os-release obsahuje informace o operačním systému, jako je název a kódové jméno. Soubor může také obsahovat další podrobnosti, jako jsou čísla verzí různých komponent (kernel, X server atd.)

source /etc/os-release

3. Spusťte sh -c echo příkaz níže pro přidání kubic deb úložiště balíčků do APT. Podman není k dispozici ve výchozích úložištích Ubuntu, takže před instalací budete muset přidat úložiště Podman.

Níže uvedený příkaz provede následující:

  • Vytvoří nový soubor (sh -c ) v /etc/apt/sources.list.d/ adresář. V tomto adresáři APT stahuje deb balíčky pro instalaci na váš počítač.
  • Zajišťuje, že používáte konkrétní verzi Ubuntu ({VERSION_ID} ), což je verze, kterou jste dříve získali z source příkaz výše v kroku dva.
  • Přesměruje výstup (> ) zapsat na konec souboru a zajistit, aby byl váš vstup zapsán do souboru správně (sources.list.d/devel:kubic:libcontainers:stable.list ).
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"

4. Nyní spusťte wget příkaz níže pro přidání klíče úložiště do seznamu důvěryhodných klíčů APT.

Red Hat je hostitelem klíče a podepisuje jej soukromým klíčem, který se ověřuje pouze ostatním lidem, kteří mají jejich veřejný klíč. Tento klíč zajišťuje, že Red Hat a ne někdo jiný uvolní balíčky, které si stáhnete a nainstalujete.

wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key -O- | sudo apt-key add -

5. Spusťte znovu apt update Chcete-li zajistit, aby byl seznam balíčků APT aktuální.

sudo apt update -y

6. Dále spusťte apt install příkaz níže k instalaci podman .

sudo apt install podman -y

7. Nakonec spusťte níže uvedený příkaz a zkontrolujte nainstalovaný --version společnosti Podman .

podman --version

Jak můžete vidět níže, nainstalovaná verze Podman je 3.4.2, nejnovější verze v době psaní tohoto článku, a vaše se může lišit.

Můžete také spustit níže uvedený příkaz podman inf a zobrazit další informace o své instalaci Podman.

podman info

Povolení registrů OCI

Před použitím Podman k vytvoření kontejnerů se ujistěte, že Podman může komunikovat s registry OCI. Podman podporuje více registrů OCI současně, takže můžete vytvářet kontejnery pomocí různých úložišť.

Otevřete /etc/containers/registries.conf soubor s textovým editorem podle vašeho výběru. Tento soubor definuje všechny registry, se kterými může Podman komunikovat. Podman nahlédne do tohoto souboru, aby zjistil, ke kterým registrům se má připojit.

sudo nano /etc/containers/registries.conf

Nyní vyplňte registries.conf soubor s následujícími řádky, uložte změny a zavřete editor.

Tyto řádky konfigurují Podman tak, aby používal veřejný registr na Docker Hub (docker.io, registry.access.redhat.com ) a soukromý registr (quay.io ), což je doporučeno.

[[registry]]
prefix="[quay.io]()"
location="internal.registry.mirror/quay"
[[registry]]
prefix="[docker.io]()"
location="internal.registry.mirror/docker"
[[registry]]
prefix="[registry.access.redhat.com]()"
location="internal.registry.mirror/redhat"

Spuštění Kontejnerů Podman s Podmanovými privilegii

Nyní, když jste nainstalovali Podman a nakonfigurovali registry, můžete začít spouštět kontejnery Podman s oprávněními Podman. Linuxové jádro podporuje širokou škálu kontrol oprávnění u svých systémových volání, jako jsou schopnosti.

V případě kontejnerů Podman řídí schopnosti výchozí chování uživatele root v rámci uživatelského jmenného prostoru. Můžete použít --privileged příznak při spuštění kontejneru pro přidání všech funkcí, které ještě nejsou v kontejneru přítomny.

1. Spusťte podman run příkaz níže k vytvoření fedora kontejner bez schopností.

podman run -d fedora sleep 100

2. Dále spusťte níže uvedený podman top příkaz pro výpis všech schopností.

podman top -l capeff 

Jak je uvedeno níže, běžný kontejner bez kořenů má omezené možnosti.

3. Spusťte podman run příkaz níže k vytvoření kontejneru se všemi možnostmi (--privileged ).

podman run --privileged -d fedora sleep 100

4. Nakonec znovu spusťte podman top příkaz pro kontrolu rozdílu ve schopnostech.

podman top -l capeff

Všimnete si, že tento kontejner má k dispozici všechny funkce díky příznaku –privileged, jak je znázorněno níže.

Všimnete si, že tento kontejner má k dispozici všechny funkce díky příznaku –privileged, jak je znázorněno Příznak –privileged umožňuje, aby kontejner běžel se všemi možnostmi, nejen těmi, které již v kontejneru jsou. Tento příznak je důležitý, protože mapuje uživatelský jmenný prostor kontejneru na jmenný prostor hostitele a dává mu všechny možnosti procesů běžících na vašem systému.

Pokud při spouštění kontejneru nenastavíte příznak –privileged, bude mít kontejner omezenou sadu funkcí. V případě kontejnerů, které používají svůj vlastní uživatelský jmenný prostor, jim budete muset dát všechny možnosti explicitně.

Práce s obrázky a kontejnery Podman

Nyní, když jste se naučili, jak přidat registry OCI a možnosti pro kontejner, můžete pracovat s obrázky a kontejnery Podman. V této ukázce použijete NGINX pro obrázek k vytvoření kontejneru.

1. Spusťte podman search příkazem níže zobrazíte seznam všech dostupných obrázků Podman pro nginx

podman search nginx

Níže můžete vidět, že získáte všechny dostupné označené obrázky pro NGINX z docker.io , quay.io a redhat.com repo, které jste přidali dříve v části „Povolení registrů OCI“:

  • INDEX sloupec ukazuje, kde se obrázky nacházejí.
  • OFFICIAL pomocí OK stav označuje, že obrázek v řádku je vytvořen a podporován oficiální společností. Například NGINX obrázek pomocí tlačítka OK status vytváří a podporuje její společnost NGINX. Tyto obrázky budou aktualizovány, jakmile se objeví chyby zabezpečení a aktualizace oprav.
  • AUTOMATIZOVANÉ pomocí OK stav znamená, že obrázky jsou automatizované sestavení. Tyto obrázky budou aktualizovány, jakmile se objeví chyby zabezpečení a aktualizace oprav.

2. Po výběru obrázku NGINX, který chcete použít, spusťte podman příkaz níže ke stažení (pull ) obrázek do vašeho místního počítače.

Tato ukázka používá nginx:alpine, protože je to nejmenší obrázek a může běžet pouze v paměti, což šetří čas na kroky sestavení později.

podman pull nginx:alpine

V tomto okamžiku máte nový obrázek, který můžete použít k vytvoření kontejneru nebo jej použít jako základní obrázek pro jiné kontejnery.

3. Spusťte podman images příkaz k zobrazení informací o vašem novém obrázku

podman images

4. Nyní spusťte podman run příkaz níže k vytvoření kontejneru z obrázku (nginx:alpine ) a spusťte nginx serveru na tomto obrázku.

Tento příkaz provede následující:

  • Interaktivně spustí kontejner (-it ) a umožňuje připojit terminál.
  • Smaže (--rm ) kontejner poté, co vystoupí/zastaví.
  • Spustí kontejner na pozadí (--d ) a publikuje (-p ) port 80 na všech rozhraních na port 8080 na nádobě.
  • Uveďte název kontejneru (--name web ).
podman run -it --rm -d -p 8080:80 --name web nginx:alpine

Získáte náhodné ID kontejneru, jak je uvedeno níže, které můžete použít ke sledování/spouštění/zastavování/odstraňování kontejneru. Poznamenejte si ID kontejneru, protože se hodí při kontrole protokolů nebo zastavování konkrétního kontejneru.

5. Spusťte níže uvedený podman ps příkaz (bez argumentů) ke kontrole, zda je váš kontejner spuštěn.

podman ps

Můžete vidět, že webový kontejner je Up a používá port 8080/TCP na vašem hostitelském počítači k odhalení svého zdroje.

6. Pro kontrolu znovu otevřete webový prohlížeč a přejděte na localhost:8080 nebo ip-vašeho-serveru:8080 , kde ip-vašeho-serveru je IP adresa vašeho serveru.

Pokud váš kontejner funguje, uvidíte výchozí uvítací obrazovku NGINX, jak je uvedeno níže.

Pokud si nejste jisti, jak je kontejner nastaven, nebo pokud má nějaké chyby, spusťte níže uvedený příkaz podman logs, abyste získali soubory protokolu pro kontejner. Nahraďte mycontainer svým ID cílového kontejneru.

podman logs mycontainer

7. Spusťte některý z podman stop příkazy níže k zastavení kontejneru. Nahraďte mycontainer ID cílového kontejneru nebo nahraďte web se skutečným názvem kontejneru.

Protože jste ve čtvrtém kroku použili příznak –rm, Podman váš kontejner smaže, jakmile jej zastavíte. Toto nastavení pomáhá udržet váš pracovní prostor bez nepořádku.

# Stops the container by Container ID
podman stop mycontainer
# Stops the container by Container Name
podman stop web

8. Nakonec spusťte podman ps příkaz k zobrazení seznamu všech kontejnerů, včetně zastaveného kontejneru.

podman ps -a

Váš kontejner byl smazán, když jste jej předtím zastavili, takže na seznamu nezískáte nic, jak je uvedeno níže.

Závěr

V tomto článku jste se naučili nainstalovat Podman a jak pracovat s obrázky a kontejnery pro nasazení. V tuto chvíli můžete nyní používat obrázky s podporou OCI z docker.io , quay.io a redhat.com úložišť k vytváření vlastních kontejnerů.

Proč si s těmito nově získanými znalostmi nepostavit své moduly Kubernetes pomocí hry Podman Play kube nebo začít používat Ansible k automatizaci kontejnerů Podman?


Linux
  1. Jak nainstalovat a používat Docker v Ubuntu 20.04

  2. Jak nainstalovat a používat Podman ve Fedoře 34/35

  3. Jak nainstalovat a používat příkaz Ping v Linuxu

  1. Jak nainstalovat a používat Docker na Ubuntu 20.04

  2. Jak nainstalovat a používat Docker na Ubuntu 18.04

  3. Jak nainstalovat a používat Docker Compose na Ubuntu 18.04

  1. Jak nainstalovat a používat Docker na CentOS 7

  2. Jak nainstalovat a používat Docker Compose na CentOS 7

  3. Jak nainstalovat a používat Podman (Docker Alternative) na Ubuntu 20.04