Co je Podman a jaký je rozdíl od Dockeru?
Podman je kontejnerový engine kompatibilní s OCI kontejnery, který je také součástí RedHat Linuxu, ale lze jej nainstalovat i na jiné distribuce Linuxu.
Protože je kompatibilní s OCI, lze Podman použít jako náhradu za známější runtime Docker. Většinu příkazů Dockeru lze přímo přeložit na příkazy Podman.
Co je to runtime?
Pro mnoho lidí je Container Engine Docker, ale to v současnosti nepředstavuje svět kontejnerových motorů, ale existuje mnoho kontejnerových motorů, jako je Podman.
Díky tomu mají Podman a Docker základní funkce. Každý vytváří obrázky, které může druhý použít k ovládání kontejnerů. Tyto dva běhové moduly pak k základním funkcím kontejnerizace přidávají své vlastní specializace.
Nainstalujte Podman
Pokud používáte Red Hat Enterprise Linux 8, Podman je v místním úložišti a můžete jej nainstalovat pouhým použitím yum.
yum -y install podman
Většina ostatních distribucí Linuxu obsahuje Podman ve svých výchozích repozitářích
Jak pracovat s kontejnery a obrázky ?
Podman má několik podobností s Dockerem ve svých příkazech pro spuštění, jako je
1-Jak vytáhnout obrázek
podman pull my-image:latest
2- Jak spustit obrázek
podman run my-image:latest --name my-container
3-seznam vytvořených a spuštěných kontejnerů
podman ps
4-Jak odstranit nádobu
podman rm my-container
Rozdíl mezi Podmanem a dockerem
Docker je technologie pro správu kontejnerů. Podman je také kontejnerová technologie. Můžete použít buď pro vytváření obrázků kontejneru a ukládání těchto obrázků do úložiště. Můžete také použít Docker nebo Podman k načtení obrázků kontejneru z registru a jejich následnému spuštění v cílovém prostředí
Technologie však mají rozdíly. Za prvé, zatímco Docker má základního démona, Podman používá k vytváření kontejnerů mírně odlišnou technologii. Za druhé, Podman, jak název napovídá, umožňuje uživatelům vytvářet pody. Pod je způsob, jak seskupit kontejnery pod společným názvem organizace. Docker nepodporuje moduly. Existují další jemné rozdíly, ale na vysoké úrovni jsou tyto dva rozdíly nejvýraznější
1-Kontejnery bez kořenů
Kontejnery bez kořenů označují schopnost neprivilegovaného uživatele vytvářet, spouštět a jinak spravovat kontejnery.
„Neprivilegovaný uživatel“ v tomto kontextu označuje uživatele, který nemá žádná administrátorská práva
nainstalovat slirp4netns:
yum install slirp4netns
nakonfigurovat množství síťových jmenných prostorů s rozsahem uživatele:
echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
nyní můžete spustit kontejner bez root jako běžný uživatel, stačí se připojit k serveru jako uživatel.
když spustíte nový kontejner s podman run, bude vytvořen s UID vašeho uživatelského účtu namísto root
Pods
Pods jsou nejmenší nasaditelné výpočetní jednotky, které můžete vytvářet a spravovat a které vypadají jako kubernetes pody.
vytvoření pod:
podman pod create --name my-pod
přidat kontejner do podů:
podman run --pod my-pod --name image-1 my-image:latest
může spravovat kontejner v podech:
podman kill my-pod # kill all containers
podman restart my-pod # restart all containers
podman stop my-pod #stop all containers
Závěr
na závěr podman je kontejnerový engine jako docker má mnoho podobností, jako je jak vytáhnout obrázek, spustit obrázek. ale mají mnoho rozdílů, jako je nádoba bez kořenů a lusky