GNU/Linux >> Znalost Linux >  >> Ubuntu

Podman výukový program – základy pro začátečníky

Úvod

Podman je kontejnerový engine pro spouštění a správu OCI kontejnerů v Linuxu. RedHat jej vyvíjí jako přímou alternativu k Docker, slavné platformě pro správu kontejnerů, která to všechno začala.

Tento výukový program vám pomůže porozumět tomu, jak Podman funguje, tím, že vysvětlí jeho syntaxi příkazů a poskytne příklady ze skutečného života, jak příkazy Podman používat.

Předpoklady

  • Přístup do příkazového řádku/okna terminálu.
  • Podman nainstalován a nakonfigurován (viz Jak nainstalovat Podman na macOS nebo Jak nainstalovat Podman na Ubuntu).

Příkazy Podman

Podman má velmi podobnou syntaxi příkazů jako Docker. Hlavní podman po příkazu následují příkazy a možnosti správy Podman:

podman [command] [options]

Níže je tabulka obsahující všechny příkazy Podman:

Příkaz Popis
attach  Připojit ke spuštěnému kontejneru pomocí jeho názvu nebo ID.
auto-update K aktualizaci kontejnerů použijte zásadu automatické aktualizace kontejneru.
build  K vytvoření obrázku použijte pokyny Containerfiles.
commit  Vytvořte nový obrázek odrážející změny provedené v kontejneru.
container  Správa kontejnerů Podman.
cp  Kopírování souborů/adresářů z kontejneru do místního souborového systému a naopak.
create  Vytvořte kontejner bez jeho spuštění.
diff  Zobrazí změny provedené v kontejneru nebo obrázku.
events  Zobrazit události podman.
exec  Proveďte proces uvnitř běžícího kontejneru.
export  Vytvořte archiv tar obsahující obsah souborového systému kontejneru.
generate  Vytvořte strukturovaný výstup na základě kontejneru, svazku nebo pod.
healthcheck  Spravujte kontroly stavu kontejneru.
history  Zobrazit historii obrázků.
image  Spravujte obrázky.
images  Seznam obrázků dostupných v místním úložišti.
import  Importujte tarball obrázku systému souborů.
info  Zobrazit systémové informace podman.
init  Inicializujte kontejnery.
inspect  Zobrazit konfiguraci kontejneru nebo obrázku.
kill  Zabíjejte kontejnery.
load  Načtěte obrázek dostupný v archivu kontejneru.
login  Přihlášení do registru kontejnerů.
logout  Odhlaste se z registru kontejnerů.
logs  Zobrazit protokoly kontejneru.
machine  Spravujte virtuální počítač Podman.
manifest  Vytvářejte a spravujte seznamy manifestů a indexy obrázků.
attach  Připojte kořenový souborový systém kontejneru nebo vypište aktuálně připojené kontejnery.
network  Spravujte sítě Podman.
pause  Pozastavte procesy kontejneru.
play  Přehrajte kontejner, svazek nebo pod.
pod  Správa modulů Podman.
port Uveďte seznam mapování portů nebo mapování specifické pro kontejner.
ps  Seznam spuštěných kontejnerů.
pull  Zkopírujte obrázek z registru do místního úložiště.
push  Přenést obrázek z místního počítače do zadaného cíle.
rename  Přejmenujte kontejner.
restart  Restartujte kontejner.
rm  Odeberte kontejner.
rmi  Odeberte obrázek z místního úložiště.
run  Spusťte příkaz v kontejneru.
save  Uložte obrázek do místního souboru.
search  Hledejte obrázek v registru.
secret  Manipulujte s tajemstvími.
start  Spusťte kontejner.
stats  Zobrazit statistiky využití zdrojů.
stop  Zastavte kontejner.
system  Spravujte systémy Podman.
tag  Přiřaďte místnímu obrázku název.
top  Zobrazit procesy běžící v kontejneru.
unmount  Odpojte kořenový souborový systém kontejneru.
unpause  Zrušit pozastavení procesů kontejneru.
unshare  Spusťte proces v novém uživatelském jmenném prostoru.
untag  Odeberte značky z místního obrázku.
version  Zobrazit informace o verzi.
volume  Spravujte objemy kontejnerů.
wait  Počkejte, až se kontejner zastaví.

Výukový program pro Podman

Přestože je Podman primárně kontejnerový engine – je určen k vytváření a spouštění OCI kontejnerů, uživatelé mohou používat také podman příkazy pro správu obrázků kontejnerů.

Následující části vysvětlují, jak používat Podman k vytváření a manipulaci s obrázky, kontejnery a pody.

Zobrazení příručky nápovědy Podman

Na dokumentaci Podman můžete rychle odkazovat pomocí příkazového řádku. Chcete-li zobrazit dostupné podman příkazy ve vašem terminálu zadejte:

podman help

Chcete-li zobrazit celou příručku Podman, použijte příkaz man:

Obrázky Podman

Vytváření a správa obrazu v Podman se provádí pomocí Buildah, nástroje pro vytváření obrazů, který používá rozhraní coreutils nižší úrovně. Když uživatel spustí podman příkaz související s obrázky, Podman zavolá Buildah, aby provedla akci.

Následující části demonstrují některé důležité příkazy pro správu obrázků.

Vyhledávání obrázků

Vyhledejte v registrech dostupné obrázky pomocí search příkaz.

podman search [search-term]

Omezte počet výsledků pomocí --limit volba. Chcete-li například vytvořit tři výsledky pro „centos“ hledaný výraz, zadejte:

podman search --limit 3 centos

Zkontrolovat obrázek

Před vytažením obrázku Podman je dobré si jej prohlédnout. Použijte podman inspect příkaz a systém vydá metadata obrazu, jako je velikost souboru, architektura, OS atd.

podman inspect [repository or image ID]

Použijte --format pomocí podman inspect příkaz k získání konkrétních metadat. V příkladu níže vrací příkaz pouze popis obrázku:

podman inspect --format=’{{.Labels.description}}’ [image ID]

Stahování obrázků

Vytahování obrázků z online úložišť se provádí pomocí podman pull příkaz. Syntaxe je:

podman pull [registry/image]

Příklad ilustruje stažení obrázku z fedoraproject.org registr:

Spuštěné obrázky

Spusťte obrázky Podman pomocí podman run :

podman run [image]

Pokud obrázek není lokálně dostupný, Podman jej stáhne z online registru a poté jej spustí jako kontejner.

Prohlížení obrázků

podman images dílčí příkaz se používá k výpisu místně dostupných obrázků:

podman images

Použijte možnosti k zúžení výsledků vyhledávání. --filter volba filtruje výstup na základě podmínek, které zadáte. Například následující příkaz hledá všechny obrázky obsahující "redhat" v názvu:

podman images --filter reference=redhat

Vytváření vlastních obrázků

Chcete-li vytvořit vlastní obrázky s Podmanem, potřebujete dockerfile nebo kontejnerový soubor. Tyto soubory obsahují pokyny, které nástroj Buildah používá k vytvoření obrázku.

Vytváření souborů se provádí pomocí podman build příkaz. Chcete-li například vytvořit obrázek z adresáře obsahujícího instrukční skript, spusťte následující příkaz:

podman build .

Buildah shromažďuje potřebný kontext souboru a vytváří obraz.

Odebrání obrázků

podman rmi příkaz se používá k odstranění obrázků z místního úložiště. Před odstraněním obrázku Podman se ujistěte, že všechny související nádoby byly zastaveny a odstraněny.

Odstraňte obrázek pomocí podman rmi příkaz následovaný názvem obrázku nebo ID:

podman rmi [image-name-or-id]

Výstup potvrzuje, že obrázek byl odstraněn.

Kontejnery Podman

Vytváření a správa kontejnerů je hlavní funkcí společnosti Podman. V části níže naleznete některé z nejběžnějších příkazů pro správu kontejnerů.

Spuštěné kontejnery

podman run příkaz má stejné funkce jako docker run. Možnosti, které následují za příkazem, závisí na typu spouštěného kontejneru. Níže uvedený příklad ukazuje spuštění httpd například pomocí obrázku dostupného na docker.io úložiště:

podman run -p 8080:80/tcp docker.io/library/httpd

Příkaz spustí kontejner a zobrazí jeho příkazový řádek.

Ukončete výzvu kontejneru stisknutím Ctrl + C . Tento příkaz ukončí kontejner.

Spuštění kontejnerů na pozadí

Chcete-li přeskočit výzvu kontejneru a spustit kontejner na pozadí, použijte následující syntaxi:

podman run -dt -p 8080:80/tcp docker.io/library/httpd

Pokud se kontejner úspěšně spustí, výstup příkazu zobrazí dlouhé ID kontejneru.

Připojení ke kontejnerům

Zadejte kontejner s podman attach příkaz:

podman attach [container-name-or-id]

Příklad ukazuje připojení ke spuštěnému kontejneru Alpine Linux pomocí ID kontejneru.

Zobrazení běžících kontejnerů

Zobrazte aktuálně spuštěné kontejnery pomocí ps příkaz:

podman ps

Výstup příkazu zobrazuje seznam obsahující základní informace o spuštěných kontejnerech.

Automatické mazání kontejnerů po zavření

Použijte --rm možnost s podman run pro automatické odstranění kontejneru:

podman run --rm -dt -p 8080:80/tcp alpine:latest

Spouštění a zastavování kontejnerů

Použijte start a stop příkazy ke spuštění a zastavení existujících kontejnerů.

podman start [container-id]

Výstup zobrazuje ID kontejneru.

podman stop [container-id]

Zobrazí se ID zastaveného kontejneru.

Přiřazování názvů kontejnerům

Spuštěné kontejnery můžete pojmenovat pomocí volby --name pomocí podman run příkaz. Chcete-li například pojmenovat kontejner Alpine Linux, použijte následující příkaz:

podman run --name AlpineTest -dt -p 8080:80/tcp alpine:latest

Obrázek níže ukazuje, že podman run byl úspěšný. Podman ps příkaz uvádí spuštěné kontejnery Podman a název je viditelný v NAMES sloupec.

Zobrazení protokolů kontejnerů

Zobrazte protokoly kontejneru v době spuštění pomocí podman logs příkaz.

podman logs [container-name-or-id]

Použijte -l příznak pro zobrazení protokolů pro nejnovější kontejner.

Odebrání kontejnerů

Chcete-li odstranit kontejner Podman, nejprve se ujistěte, že byl kontejner zastaven. Poté použijte podman rm příkaz následovaný názvem nebo ID kontejneru.

podman rm [container-name-or-id]

Níže uvedený příklad ukazuje odstranění testuAlpineTest kontejner.

Chcete-li odstranit běžící nebo nepoužitelný kontejner, přidejte -f možnost.

podman rm -f [container-name-or-id]

Chcete-li odstranit více kontejnerů najednou, uveďte ID kontejnerů oddělené mezerou:

podman rm [container-1-id container-2-id container-3-id]

Podman Podman

Pody jsou skupiny kontejnerů, které sdílejí zdroje. Podman pods jsou funkcí, která odlišuje Podman od Docker. Následující sekce ilustrují některé běžné operace pod v Podman.

Výpis podů

Pomocí příkazu níže zobrazíte seznam všech modulů dostupných v systému:

podman pod ls

Seznam zobrazuje ID podu, název, stav, čas vytvoření, infra ID a počet kontejnerů, které obsahuje.

Vytvoření prázdných modulů

Vytvořte prázdný modul v Podman pomocí následující syntaxe:

podman pod create

Výstup zobrazuje ID nově vytvořeného modulu.

Přidávání kontejnerů do modulů

Chcete-li přidat kontejner do podu, použijte --pod štítek s docker run :

podman run [options] --pod [pod-name-or-id] [image]

V níže uvedeném příkladu je podu přiřazen kontejner Alpine Linux s ID e06ed089b454 :

Vytváření podů s kontejnery

Podman může vytvořit kontejner a přidat jej do nového podu v jediném podman run příkaz. Syntaxe zahrnuje --pod štítek:

podman run [options] --pod new:[pod-name] [image]

Níže uvedený příklad spouští kontejner s alpine:latest obrázek a přidá jej do nového modulu s názvem AlpineTest :

podman pod ls výstup příkazu zobrazuje nový modul se dvěma kontejnery.

Spouštění, zastavování a mazání modulů

Spusťte modul pomocí následujícího příkazu:

podman pod start [pod-name-or-id]

Chcete-li modul zastavit, spusťte:

podman pod stop [pod-name-or-id]

Chcete-li odstranit zastavený modul a jeho nádobu, použijte:

podman pod rm [pod-name-or-id]

Chcete-li zastavit a odstranit běžící kontejnery a poté odstranit pod, použijte -f možnost:

podman pod rm -f [pod-name-or-id]

Chcete-li odstranit více zastavených podů jedním příkazem, uveďte ID podů oddělená mezerou:

podman pod rm -f [pod1-id pod2-id pod3-id]

Potenciální problémy s Podmanem a jak je řešit

Tato část uvádí některé běžné problémy s Podmanem a poskytuje řešení.

Nelze odhalit privilegovaný port

Podman umožňuje uživatelům bez oprávnění root spouštět kontejnery. Jsou však omezeny na přeposílání pouze na neprivilegované porty. Pokud se pokusíte předávat na privilegovaný port jako uživatel bez oprávnění root, zobrazí se následující chyba:

Řešením tohoto problému je vybrat si neprivilegovaný port nebo spustit příkaz pomocí sudo.

Problémy s vyhledáváním podman

Dalším častým problémem je podman search příkaz vrací prázdný výstup.

Tento problém se obvykle týká /etc/containers/registries.conf soubor. Otevřete soubor v textovém editoru:

sudo nano /etc/containers/registries.conf

Přejděte na konec souboru a ujistěte se, že Podman má registry k prohledávání.

Pokud v souboru nejsou uvedeny žádné registry, můžete přidat ty běžné, jako je RedHat, Fedora a Docker, pomocí následující syntaxe:

unqualified-search-registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]

Uložte soubor. podman search seznam by měl být naplněn výsledky z registrovaných online registrů.

Chyba:poskytnuta neplatná konfigurace

Při přidávání kontejnerů do pod se může zobrazit následující zpráva:

Error: invalid config provided: published or exposed ports must be defined when the pod is created: network cannot be configured when it is shared with a pod

K tomuto problému dochází, když se pokusíte přidat kontejner s porty, které nebyly definovány při vytváření modulu. V současné době to Podman neumožňuje.


Ubuntu
  1. Výuka Python SciPy - Průvodce pro začátečníky

  2. Linux cd command tutorial pro začátečníky (8 příkladů)

  3. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  1. Jenkinsův kurz:Základy pro začátečníky

  2. Kurz konfigurace sítě Netplan pro začátečníky

  3. Výuka příkazů Linux pro začátečníky (5 příkladů)

  1. Linux df Command Tutorial pro začátečníky (8 příkladů)

  2. Linux du Command Tutorial pro začátečníky (10 příkladů)

  3. Výukový program Linux echo Command pro začátečníky (5 příkladů)