Docker vs Podman: V čem se liší
#docker #podman
Docker i Podman jsou nástroje na práci s kontejnery. Podman je novější nástroj, který kopíruje UI Dockeru, ale v tom jak pracují jsou zásadní rozdíly.
Docker běží jako client/server, Docker client říká serveru jak má vytvářet kontejnery. Namísto toho Podman vytvoří nový proces standardne (fork/exec), Podman také umí běžet pod non-root uživatelem.
Co se týká bezpečnosti, Podman je lepší. Pokud se někdo dostane k Docker socketu, je de facto root na serveru. Podman nemá žádnou běžící komponetu, každý uživatel vytváří kontejnery ve svém kontextu.
Docker
- Funguje na modelu client/server
- Client má pro Linux, Mac i Windows, server běží na Linuxu, v Macu a Windows je Linux VM v xHyve nebo Hyper-V
- Podpora BuildKit
- Kontejnery se pustí po restartu serveru
Podman
- Nemá běžící daemon
- Může běžet pod non-root uživatelem
- Používá tradiční fork/exec model
Oba podporují build images, i multistage. Podman však nepodporuje BuildKit. Síťování mají podobně, ale ne stejně.
Školení Dockeru
Zaujal Vás Docker? Chcete se dozvědět více? Přijďte na mé Školení Dockeru!
Případně si můžete vybrat z nabídky otevřených kurzů.
Ondřej Šika
Jsem freelance DevOps konzultant a lektor. Zlepšuji práci vývojářských týmu zaváděním efektivních procesů ve vývoji. Naučím Vás používat prověřené nástroje a technologie, které povedou k rychlejšímu vývoji a bezpečnějšímu provozu vašeho software.