Podman je open-source nástroj pro správu kontejnerů, obrázků, svazků a podů (skupina kontejnerů). Používá rozhraní API knihovny libpod pro správu životních cyklů kontejnerů a podporuje více formátů obrázků kontejnerů, včetně obrázků OCI (Open Container Initiative) a Docker.
Podman je kontejnerový motor splňující požadavky OCI (Open Container Initiative). Je kompatibilní s rozhraním Docker CLI a umožňuje vám spouštět kontejner bez rootu (spuštění kontejneru bez oprávnění root). Podman byl vydán jako součást Red Hat Enterprise Linux, navržený jako nová generace kontejnerového nástroje Linuxu s rychlejším experimentováním a vývojem funkcí.
V tomto tutoriálu se naučíte, jak nainstalovat Podman na systém Ubuntu 20.04. Nainstalujete si Podman a naučíte se základní použití podmanu pro správu kontejnerů, obrázků a svazků Docker.
Předpoklady
- Server Ubuntu 20.04 - ujistěte se, že všechny balíčky jsou nejnovější verze, abyste se zbavili zastaralých závislostí a dovedli vás k chybě během instalace.
- Uživatel s právy root nebo uživatelský root - pro instalaci nových balíčků a změnu konfigurace v celém systému.
Instalace Podmana na Ubuntu 20.04
Nejprve přidáte úložiště a klíč třetích stran pro instalaci podman na systém Ubuntu 20.04.
1. Provedením následujícího příkazu exportujte proměnné prostředí na '/etc/os-release ' soubor.
. /etc/os-release
2. Přidejte úložiště podman se stabilním vydáním a přidejte klíč GPG do svého systému pomocí příkazu níže.
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add -
3. Aktualizujte/obnovte repozitáře Ubuntu a upgradujte všechny balíčky na nejnovější verzi.
sudo apt update
sudo apt -y upgrade
4. Poté nainstalujte podman pomocí příkazu apt níže.
sudo apt install podman
Zadejte „y “ a stiskněte „Enter ' pokračovat v instalaci.
5. Po dokončení instalace ověřte verzi podman pomocí následujícího příkazu.
podman version
Níže je podobný výstup, který získáte.
Jak je vidět, nainstalovali jste podman v3.3.1 zkompilovaný s Go 1.16 pro linuxovou architekturu amd64 (64-bit).
Vytvoření nového uživatele a spuštění kontejneru hello-world
Podman vám umožňuje spouštět kontejnery pod uživatelem bez oprávnění root. V této fázi přidáte nového uživatele a spustíte kontejner „hello-world“ na základě obrázku Docker.
1. Provedením následujícího příkazu přidejte nového uživatele 'johndoe'.
useradd -m -s /bin/bash johndoe
passwd johndoe
Zadejte nové heslo pro uživatele 'johndoe '.
2. Dále se přihlaste jako uživatel 'johndoe' a spusťte kontejner založený na obrázku Dockeru 'hello-world'.
Přihlaste se jako uživatel 'johndoe '.
su - johndoe
Spusťte nový kontejner založený na obrázku Docker 'hello-world pomocí příkazu podman.
podman run hello-world
Budete dotázáni, který registr kontejnerů chcete použít, vyberte registr kontejnerů 'docker.io' a uvidíte podobný výstup jako níže.
3. Chcete-li ověřit svůj kontejner a obrázky na místním počítači, spusťte příkaz níže.
podman ps -a
podman images
Uvidíte, že je vytvořen nový kontejner a aktuální stav je „Opuštěno '. Kontejner je založen na 'hello-world ' Obrázek dockeru.
Základní použití Podman
V této příručce se naučíte, jak používat podman pro správu kontejnerů, obrázků a svazků. Naučíte se základní příkaz podman pro správu kontejneru a příkazy, které budete používat v této příručce, jsou 100% stejné jako příkazy CLI Docker.
1. Chcete-li najít obrázky kontejneru kompatibilní s podmanem, spusťte níže uvedený příkaz podman.
podman search nginx
A uvidíte seznam obrázků kontejnerů z výchozího Dockeru registru obrázků a Quay registr obrázků.
Vyberte obrázky kontejneru 'nginx' z registru Docker a stáhněte si je do místního počítače pomocí příkazu podman níže.
podman pull nginx:alpine
Vyberte registr kontejneru 'docker.io “ a zahájí se proces stahování obrázku kontejneru Nginx.
2. Chcete-li zkontrolovat dostupné obrazy kontejnerů na vašem místním počítači, spusťte níže uvedený příkaz podman.
podman images
A uvidíte dva obrázky - ahoj-světe a nginx obrázky.
3. Dále spustíte a spustíte nový kontejner založený na obrázku 'nginx:alpine ', spusťte příkaz podman s možností 'spustit ' jak je uvedeno níže.
podman run -it --rm -d -p 8080:80 --name web nginx:alpine
Některé možnosti, které musíte znát:
- -i nebo --interactive - Ponechejte kontejner STDIN otevřený, i když není připojen.
- -t nebo --tty – přiděluje pseudoterminál, který spojuje váš terminál s STDIN a STDOUT kontejneru.
- --rm - automaticky vyjměte nádobu, když nádobu opustíte nebo zastavíte.
- -d - spuštění kontejneru na pozadí, po spuštění kontejner odpojit.
- -p 8080:80 - zmapujte port mezi kontejnerem a hostitelským systémem. Port '80' na kontejneru je mapován na port hostitelského systému '8080'.
- --name web - zadejte název nového kontejneru jako 'web'.
- nginx:alpine - obrázek, který používáme, je 'nginx:alpine'.
Uvidíte náhodný řetězec a číslo vašeho běžícího kontejneru. Ověřte svůj spuštěný kontejner pomocí příkazu podman níže.
podman ps
Uvidíte výstup jako níže.
Stav kontejneru je „Nahoru ' a zpřístupní port TCP port '8080 ' na hostitelském počítači.
Otevřete webový prohlížeč a navštivte IP adresu svého serveru s portem '8080 ' jak je uvedeno níže.
http://192.168.1.15:8080/
A uvidíte výchozí 'index.html' stáří vašeho kontejneru nginx.
4. Kromě toho můžete zkontrolovat protokoly svého kontejneru pomocí 'protokolů ' níže.
podman logs web
Nebo můžete zadat poslední číselné řádky protokolu kontejneru pomocí '--tail ' níže.
podman logs --tail 10 web
5. Nyní můžete běžící kontejner zastavit pomocí možnosti podman 'stop ' jak je uvedeno níže.
podman stop web
Váš kontejner „web“ bude zastaven. Zkontrolujte pomocí příkazu níže.
podman ps
podman ps -a
A uvidíte podobný výstup jako níže.
Kontejner 'web' je zastaven a automaticky odstraněn, protože používáte možnost '--rm' na váš příkaz podman.
6. Dále se naučíte, jak pomocí vlastního svazku změnit výchozí 'index.html' na novém kontejneru.
Vytvořte nový adresář '~/data “ a „index.html ' pomocí následujícího příkazu.
mkdir -p ~/data/
nano ~/data/index.html
Zkopírujte a vložte níže uvedený HTML skript.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to Container Nginx</title>
</head>
<body>
<h2>Hello from Nginx container - Managed with Podman</h2>
</body>
</html>
Stiskněte 'Ctrl+x ', zadejte 'y “ a poté stiskněte „Enter ' pro uložení konfigurace a ukončení.
Nyní spusťte následující příkaz podman pro spuštění nového kontejneru s vlastním svazkem.
podman run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine
Možnost, kterou musíte znát:
- -v - zadejte objem pro váš kontejner. '~/data ' adresář bude připojen k novému adresáři kontejneru '/usr/share/nginx/html '.
Nyní proveďte následující příkaz k ověření běžícího kontejneru.
podman ps
Zobrazí se nový kontejner 'web ' ve stavu 'Nahoru '.
Dále otevřete webový prohlížeč a zadejte IP adresu serveru s portem '8080 '.
http://192.168.1.15:8080/
A nahoře uvidíte vlastní stránku index.html, kterou jste vytvořili, což znamená '~/data ' adresář je připojen k 'webu ' kontejner.
7. Dále se můžete přihlásit do běžícího kontejneru pomocí volby 'exec ' a spuštění shellu 'sh'.
Ujistěte se, že váš kontejner 'web ' běží pomocí následujícího příkazu.
podman ps
Nyní spusťte níže uvedený příkaz podman a přihlaste se ke kontejneru 'web'.
podman exec -it web /bin/sh
Zkontrolujte název hostitele kontejneru 'web'.
hostname
Zkontrolujte IP adresu a směrovací tabulku kontejneru 'web'.
ip a
route -n
Nyní zadejte „exit ' pro odhlášení z kontejneru 'web '.
8. Nyní vyčistěte své prostředí pomocí následujícího příkazu.
Zastavte kontejner 'web pomocí níže uvedeného příkazu podman.
podman stop web
Odstraňte všechny kontejnery se stavem 'Exited' pomocí příkazu podman níže.
podman rm $(podman ps --filter "status=exited" -q)
Závěr
gratuluji! Úspěšně jste nainstalovali Podman na systém Ubuntu 20.04. Také jste se naučili základní použití podman pro stahování obrázků kontejneru, spouštění kontejneru, kontrolu stavu kontejneru, protokoly a základní použití podman pro správu svazku. V dalším kroku se můžete pokusit vytvořit vlastní obrázky se specifikacemi OCI pro aplikaci push/upload do registru kontejnerů.