- Podman spravuje kontajnery a pody bez centrálneho démona s takmer plnou kompatibilitou s... príkazy Docker a natívna podpora pre rootless kontajnery.
- Pody zoskupujú niekoľko kontajnerov, ktoré zdieľajú sieť, IP adresu a voliteľne aj zväzky, čo uľahčuje vzory ako sú sidecary a aplikácie s viacerými kontajnermi.
- Podman vám umožňuje vytvárať komplexné siete, zväzky a pody, integrovať podman-compose a generovať manifesty Kubernetes pre jednoduchú migráciu do klastrov.
- Nástroje ako Podman Desktop a osvedčené bezpečnostné postupy, čistenie zdrojov a automatizácia CI/CD dopĺňajú ekosystém vhodný pre vývoj a produkciu.
Ak pracujete s kontajnermi a pochádzate zo sveta Dockeru, pravdepodobne ste v poslednej dobe počuli o Podmane a jeho funkciách. Nádoby a kapsuly ako moderná alternatívaNie je to len „ďalší Docker“, ale nástroj navrhnutý tak, aby bol ľahší, bezpečnejší a oveľa lepšie integrovaný s ekosystémom. Linux a Kubernetes, a to ako na serveroch, tak aj vo vývojových tímoch.
V tejto príručke sa krok za krokom pozrieme na to, čo sú kontajnery Podman, ako sú organizované do podov, čo odlišuje Podman od Dockeru, ako ich spravovať z príkazového riadku a tiež akú úlohu hrajú nástroje ako [sem vložte názvy nástrojov]. podman-compose a Podman Desktop v ich životnom cykle reálnych aplikácií. Cieľom je, aby ste na konci mali jasné a praktické pochopenie toho, ako používať Podman vo svojom každodennom živote.
Čo je Podman a ako sa líši od Dockeru?
Podman je open-source nástroj na vytváranie a správu kontajnerov a podov. na systémoch Linux, spravovaný primárne spoločnosťou Red Hat a distribuovaný pod licenciou Apache, čo znamená, že všetky jeho komponenty možno bez problémov používať v komerčnom prostredí. Hoci vznikol v systéme Linux, možno ho používať aj na systémoch macOS a Windows (prostredníctvom WSL2 alebo Podman Desktop).
Na funkčnej úrovni Podman plní rovnaký cieľ ako Docker: jednoduché spúšťanie OCI kontajnerovPoužíva rozhranie príkazového riadka takmer identické s Dockerovým, až do tej miery, že je bežné definovať alias alias docker=podman opätovne používať skripty bez ich úpravy. Vnútorná architektúra je však odlišná a práve tu prichádzajú na rad dôležité výhody.
Prvý kľúčový rozdiel je v tom, že Podman je „bez démonov“To znamená, že nezávisí od centrálneho démona, ktorý by riadil všetky kontajnery. Každý spustený príkaz vytvára vlastné procesy a neexistuje žiadna trvalá služba ako dockerdTo sa zvyčajne premieta do nižšej spotreby zdrojov, jednoduchšieho bezpečnostného modelu a bezproblémovejšej integrácie so systémovými nástrojmi, ako napríklad systemd.
Ďalším veľmi relevantným aspektom je, že Podman natívne podporuje rootless kontajneryumožnenie používateľom bez administrátorských oprávnení spúšťať kontajnery bez nutnosti udelenia prístupu k socketu koreňVďaka tomu sa znižuje plocha pre útok a je to obzvlášť atraktívne na serveroch s viacerými používateľmi alebo v podnikových prostrediach so silnou kontrolou oprávnení.
Nakoniec, Podman od začiatku využíva koncept podov, priamo inšpirovaný Kubernetes. To znamená, že môžete zoskupiť niekoľko kontajnerov, ktoré zdieľajú sieť a skladovanie bez nutnosti uchýliť sa k externému orchestrátorovi alebo nástrojom, ako napríklad docker-composehoci existuje aj podman-compose pre tých, ktorí uprednostňujú deklaratívny prístup.
Čo je to pod a ako funguje v Podmane?
Termín Slovo „pod“ pochádza zo sveta Kubernetes a označuje „pod“ kontajnerov. ktoré zdieľajú určité zdroje. V Kubernetes a tiež v Podmane možno pod chápať ako logickú jednotku, ktorá zoskupuje jeden alebo viac kontajnerov, ktoré veľmi úzko spolupracujú.
Vo vnútri modulu, Všetky kontajnery zdieľajú jednu IP adresu. a súbor sieťových menných priestorov a voliteľne aj úložných zväzkov. To znamená, že môžu navzájom komunikovať pomocou localhost o 127.0.0.1akoby išlo o rôzne procesy v rámci toho istého počítača, hoci zvonku sa pod javí ako jedna entita prístupná cez konkrétnu IP adresu a porty.
V praxi je to veľmi užitočné pri implementácii vzorov, ako sú napríklad kontajnery sidecar alebo aplikácie, kde je niekoľko služieb úzko prepojených. Napríklad webový server nginx v jednom kontajneri a PHP-FPM v inom Môžu žiť v tom istom pode, zdieľať IP adresu a komunikovať cez localhostale s oddelenými procesmi a životnými cyklami.
Keď vytvoríte pod pomocou Podmanu, zavedie sa špeciálny kontajner s názvom infračervený kontajnerTento kontajner, štandardne založený na obrázku localhost/podman-pause (alebo podobné ako napr.) k8s.gcr.io/pause), nerobí takmer nič viac ako „spí“, ale jeho funkcia je nevyhnutná: je zodpovedný za udržiavanie menných priestorov podu a slúži ako kotva pre ostatné kontajnery, ktoré sa k tomuto podu pripájajú.
Každý kontajner, či už je v pode alebo nie, má monitorovací proces nazývaný conmonTento malý program v jazyku C je zodpovedný za monitorovanie kontajnera, správu jeho vstupu/výstupu a aktiváciu nástrojov ako Podman. pripojiť, priložiť alebo zhromaždiť stav z kontajnera kedykoľvek.
Správa podov pomocou príkazu podman pod
V Podmane sa všetko, čo súvisí s podmi, rieši pomocou podpríkazu podman podOdtiaľto môžete vytvárať pody, zobrazovať ich stav, pridávať kontajnery, ovládať ich životný cyklus alebo ich mazať, keď ich už nepotrebujete.
podman pod create --name pod1
podman pod ps
ID, meno, stav Toto sú základné stĺpce, ktoré uvidíte pri výpise podov; sú sprevádzané identifikátorom pridruženého infra kontajnera.
Ak chcete pridať nový kontajner do existujúceho podu, jednoducho pridať nový kontajner Ak chcete pripojiť pod, pri jeho vytváraní zadajte pod, ku ktorému ho chcete pripojiť. Typický príklad by vyzeral takto:
podman run -dt --pod pod1 --name web nginx
S týmto príkazom, Vytvorili sme kontajner založený na obraze nginx a prepojili sme ho s podom. pod1Keď sa tento hlavný kontajner spustí, pod prejde do stavu „Spustené“, pretože v ňom prebiehajú aktívne procesy.
podman ps -a --pod
Na výstupe uvidíme stĺpce ako ID KONTAJNERA, OBRÁZOK, STAV a stĺpec POD, ktorý označuje ID alebo názov podu. Zobrazené ID podu sa zhodujú s tými, ktoré sú zobrazené v podman pod psčo uľahčuje krížové odkazovanie informácií medzi oboma pohľadmi.
Životný cyklus podu, protokoly a podrobné informácie
Jednou z veľkých vecí na podoch je, že Dokážeme spravovať všetky vaše kontajnery naraz.Hoci stále máte možnosť zastaviť, spustiť alebo reštartovať kontajnery jednotlivo, prevádzka na celom pode výrazne zjednodušuje správu kompozitných aplikácií.
podman pod pause NOMBRE_O_ID_DEL_POD
podman pod unpause NOMBRE_O_ID_DEL_POD
podman pod stop NOMBRE_O_ID_DEL_POD
podman pod start NOMBRE_O_ID_DEL_POD
A ak ich potrebujeme priamo reštartovať, existuje aj podman pod restart reštartovať súpravu kontajner na pody v jednom kroku.
podman pod inspect NOMBRE_O_ID_DEL_POD
pokiaľ ide o ZáznamyKeď je v pode iba jeden hlavný kontajner, je to jednoduché: výstup môžeme získať jednoduchým podman logs o tom kontajneriAk však pod obsahuje viacero kontajnerov, musíme pomocou parametra určiť, z ktorého chceme logy. -c:
podman pod logs -c NOMBRE_DEL_CONTENEDOR NOMBRE_O_ID_DEL_POD
Na zobrazenie procesov bežiacich vo všetkých kontajneroch podu máme tiež príkazy, ktoré zoskupujú tieto informácie, čo nám umožňuje robiť akési „distribuované ps medzi všetky kontajnery toho istého poduToto je veľmi praktické pri ladení chýb vo viackontajnerových aplikáciách.
Odstránenie podov a ich vzťah ku kontajnerom
Pri odstraňovaní podov je dôležité pamätať na to, že Odstránením podu sa odstránia všetky kontajnery, ktoré obsahuje.Preto Podman vyžaduje, aby bol pod zastavený pred bezpečným odstránením, čím sa zabráni náhodnému odstráneniu spustených kontajnerov.
podman pod rm NOMBRE_O_ID_DEL_POD
podman pod rm -f NOMBRE_O_ID_DEL_POD
Keď sa nahromadí veľa podov, môže byť užitočné ich všetky naraz vyčistiť. Existujú príkazy určené na ich odstránenie. všetky pody zastavené alebo dokonca všetky pody v systéme, zadržaných aj aktívnych, zvyčajne kombinujúc možnosti ako napríklad -a alebo použitím špecifických podpríkazov „prune“ v závislosti od verzie Podmanu.
Sieť a porty v kontajneroch podu
V sieťovej rovine sa pod správa ako jednotka: Všetky kontajnery v pode zdieľajú rovnakú IP adresuTáto IP adresa je tá, ktorá je priradená podu ako celku a pripája sa k sieti, ktorú určíme pri jeho vytváraní.
V koreňových prostrediach, ak nič neurčíme, pod sa pripojí k predvolený červený most z Podmana. Naproti tomu v prostrediach bez rootov je štandardnou možnosťou sieť slirp4netns, čo umožňuje sprístupnenie služieb hostiteľovi bez nutnosti zvýšených privilégií.
Keď chceme prezentovať službu vonkajšiemu svetu, musíme vykonať mapovanie portov počas vytvárania poduToto sa robí pomocou možností -p o --publish, ktorý označuje hostiteľský port a interný port podu:
podman pod create --name webpod -p 8080:80
podman run -dt --pod webpod --name nginx docker.io/library/nginx
Vďaka tomu sa akákoľvek požiadavka na IP adresu hostiteľa na porte 8080 dostane na port 80 podu a odtiaľ do kontajnera nginx. Je dôležité poznamenať, že Na každom mapovanom porte môže počúvať iba jedna služba.Preto nebudeme môcť mať dva kontajnery v tom istom pode ponúkajúce služby na tom istom von mapovanom internom porte.
Komunikácia medzi kontajnermi v rámci toho istého podu sa vykonáva jednoducho pomocou localhost o 127.0.0.1To znamená, že ak kontajner v rámci podu ponúka HTTP službu na porte 80, iný kontajner k nemu môže pristupovať pomocou URL adresy, ako je táto: http://127.0.0.1:80 bez obáv o IP adresy alebo názvy hostiteľov.
Úložisko a zdieľané zväzky v podoch
Hoci každý kontajner môže mať svoj vlastný úložný priestor, je veľmi bežné, že Kontajnery v rámci toho istého podu zdieľajú časť súborového systémunajmä keď jeden kontajner generuje dáta, ktoré musí iný obsluhovať alebo spracovať.
Keď vytvárame pod, môžeme definovať body pripojenia, ktoré budú viditeľné zo všetkých kontajnerov v ňom. Tieto body pripojenia môžu byť objemy spravované spoločnosťou Podman alebo priame pripojenie hostiteľských adresárov (viazané pripojenie), v závislosti od toho, či uprednostňujeme delegovanie fyzickej cesty na Podman alebo ju riadime sami.
Veľmi poučným príkladom je prípad modulu s názvom pod5 ktorý sprístupňuje webový server na porte 8082 hostiteľa. V tomto pode máme dva kontajnery:
- Hlavný kontajner
webzaložené na nginxe, ktorý vytvára zdieľaný zväzok v/usr/share/nginx/html, jeho DocumentRoot. Tento kontajner je zodpovedný za poskytovanie webu. - Pomocný kontajner
sidecarktorého úlohou je pravidelne upravovať súborindex.htmlv rámci toho istého objemu, napríklad každú sekundu, generujúc dynamický obsah alebo správy, ktoré sa menia.
Aby sme to dosiahli, vytvoríme pod s určením portu aj zväzku a potom pridáme oba kontajnery, pričom na príslušné cesty pripojíme rovnaký zväzok. podman volume dokážeme spravovať tieto objemy a s podman volume inspect zistiť, kde sa trasa fyzicky nachádza na hostiteľovi (napríklad niečo ako ~/.local/share/containers/storage/volumes/NOMBRE/_data v prostredí bez koreňov).
Ak radšej použijeme pripojenia bind namiesto zväzkov, pri vytváraní kontajnera môžeme priamo pripojiť adresár na hostiteľovi pridaním možnosti :z keď pracujeme so SELinuxom aby sa bezpečnostné kontexty automaticky upravovali a aby z kontajnera nevznikli problémy s prístupom.
Kontajnery s Podmanom: základné každodenné príkazy
Ak ste nikdy nepracovali s Podmanom (alebo Dockerom), prvá vec, ktorú musíte pochopiť, je, že Kontajnery sú formou ľahkej virtualizácieNeobnovujú sa technické vybavenie Nie je to nové jadro, ale používajú menné priestory, cgroups a ďalšie techniky jadra na izoláciu procesov, pričom zdieľajú to isté jadro ako hostiteľský systém.
Pred virtuálne stroje Na rozdiel od tradičných kontajnerov, kontajnery zvyčajne spotrebúvajú menej zdrojov, spúšťajú sa oveľa rýchlejšie a umožňujú vyššiu hustotu, čo vedie k efektívnejšiemu nasadeniu. Nástroje ako LXC/LXD sa zameriavajú na „kompletné“ systémové kontajnery, zatiaľ čo Podman (a Docker) sa zameriavajú na minimalistické kontajnery na spúšťanie špecifických služieb ako databázywebové servery alebo e-mailové aplikácie.
podman run -dt -p 8080:80/tcp docker.io/library/httpd
V tomto prípade sa Podman pokúsi stiahnuť obrázok. docker.io/library/httpd ak neexistuje lokálne (ukladá sa do ciest ako ~/.local/share/containers/storage (pre používateľov bez root-u), vytvorí kontajner a spustí ho na pozadí (-dt (označuje režim odpojenia a pseudo-TTY). Port 8080 z hostiteľa, na ktorého presmeruje 80/tcp z kontajnera, aby sme mohli otvoriť prehliadač v 127.0.0.1:8080 a uvidíme predvolenú stránku Apache.
podman ps
A ak chceme vidieť aj tých, ktorí sú zadržaní, pridáme túto možnosť -aVo výstupe uvidíme stĺpce ako ID KONTAJNERA, OBRAZ, PRÍKAZ, STAV, PORTY a NÁZOV, kde názov je zvyčajne čitateľný alias (napríklad xenodochial_newton alebo taký, ktorý sme vložili).
podman stop NOMBRE_O_ID
podman start NOMBRE_O_ID
A zbavte sa ich, keď už nie sú potrebné, pomocou:
podman rm NOMBRE_O_ID
Na správu lokálnych obrázkov máme príkazy ako napríklad:
podman image list
ktorý nám zobrazuje úložisko, značku, ID, veľkosť a dátum vytvorenia a ďalšie podobné údaje podman image prune na vyčistenie obrázkov, ktoré sa už nepoužívajú.
Objemy dát a perzistencia v Podmane
Obrázky sú navrhnuté tak, aby boli nemenné a obsahovali len toľko, koľko je potrebné pre danú službu. topánkaAle pracovné údaje (webové stránky, databázy, používateľské súbory) Musia byť uskladnené na mieste, ktoré prežije likvidáciu kontajnerov.
Tu prichádzajú na rad zväzky, ktoré umožňujú pripojiť hostiteľský adresár dovnútra kontajnera. Predstavte si, že chceme uložiť obsah webovej stránky poskytovanej Apache; obrázok očakáva, že ho nájde v /usr/local/apache2/htdocsMôžeme vytvoriť zväzok s názvom www s:
podman volume create www
a potom vyhoďte nádobu takto:
podman run -dt --name apache -p 8080:80 -v www:/usr/local/apache2/htdocs docker.io/library/httpd
Vďaka tomu budú všetky súbory umiestnené na tomto zväzku externe obsluhované Apache. Pomocou:
podman volume inspect www
Vidíme, že zväzok je uložený v ceste ako /home/USUARIO/.local/share/containers/storage/volumes/www/_dataJednoducho tam skopírujte našu webovú stránku, aby bola prístupná z kontajnera.
Sady kontajnerov s podman-compose
Keď aplikácia potrebuje viacero služieb (napríklad stránka WordPress s databázou MariaDB), manuálne definovanie a spustenie každého kontajnera pomocou spustenie podmanu a jeho viaceré parametre Môže to byť dosť ťažkopádne a náchylné na chyby.
Na to slúži podman-composenástroj, ktorý replikuje správanie docker-compose pomocou súborov docker-compose.yamlTam deklarujeme služby, siete a zväzky a potom necháme Podmana, aby sa postaral o to všetko spoločne.
Typickým príkladom je súbor, v ktorom definujeme dve služby:
- Služba
webs obrázkomdocker.io/library/wordpress, ktorý sprístupňuje port 8080 hostiteľa internému portu 80, pripojí zväzok pre webové súbory a získa premenné prostredia na pripojenie k databáze. - Služba
dbs obrázkomdocker.io/library/mariadb:10.5, ktorý sprístupňuje port 6603, pripojí zväzok pre databázové dáta a definuje prihlasovacie údaje a počiatočnú databázu.
Obe služby sa pripájajú k rovnakej sieti s názvom wpnet a zdieľať deklarované objemy v sekcii volumesPri behu:
podman-compose up
Vytvoria sa kontajnery, sieť, zväzky a tiež, pod, ktorý zoskupuje tieto kontajneryPríkaz podman ps neskôr ukáže niečo podobné infra kontajneru (napríklad 663f84f58792-infra) vedľa kontajnerov wordpress_db_1 y wordpress_web_1.
Ak uvedieme struky takto:
podman pod ls
Uvidíme záznam pre daný pod (napríklad s názvom wordpress) s jeho ID PODu, stavom a počtom kontajnerov. Odtiaľ môžeme náhle zastaviť alebo spustiť celú zostavu podman pod stop y podman pod start, bez obáv o to, či začínajú v správnom poradí.
Uvidíme objemy spojené s týmto zásobníkom pomocou podman volume ls (napríklad wordpress_wordpress y wordpress_wpdbvol) a príslušné obrázky sa zobrazia v podman image ls (WordPress, MariaDB a obrázok infra/pauza použitý pre pod).
Inštalácia Podmanu na Linux, macOS a Windows
Inštalácia Podmanu je v dnešnej dobe pomerne jednoduchá, pretože Moderné distribúcie ho už obsahujú vo svojich repozitárochV systémoch založených na Debiane alebo Ubuntu by typická postupnosť bola:
sudo apt update
sudo apt install -y podman
Iné distribúcie ako Fedora, CentOS Stream alebo openSUSE používajú vlastných správcov balíkov (DNF, Zypper atď.), ale myšlienka je rovnaká: nainštalovať balík podman priamo z oficiálnych repozitárov.
V systéme macOS, ktorý je systémom unixIntegrácia je tiež pohodlná. Najbežnejším spôsobom je použitie Homebrew spustením:
brew install podman
Súbežne s tým existuje Podman Desktop pre tých, ktorí uprednostňujú grafické rozhranieTáto aplikácia nainštaluje a konfiguruje Podman priamo v aplikácii a poskytuje grafické rozhranie na správu kontajnerov, obrázkov a podov bez toho, aby sa musela silne spoliehať na iné nástroje. terminál.
V systéme Windows cesta takmer vždy vedie cez WSL2 a distribúcia Linuxu v tomto prostredí (ako Ubuntu). Po nainštalovaní WSL2 a distribúcie vstúpite do linuxového shellu a postupujte podľa rovnakých krokov inštalácie ako v klasickej distribúcii. Podman Desktop je možné použiť aj vo Windowse, ale na správne fungovanie bude stále vyžadovať základný podsystém WSL2.
Ak chcete overiť, či inštalácia prebehla úspešne, jednoducho spustite:
podman --version
a potvrďte, že vracia číslo verzie a nie chybu „príkaz sa nenašiel“.
Správa siete a podov z rozhrania CLI
Okrem podpríkazov zameraných na kontajnery má Podman sieťové API veľmi podobné Dockerovmu. podman network ls Vidíme dostupné siete (predvolený most, slirp4netns v režime bez rootu, vlastné siete atď.).
podman network create mi_red
podman run -d --network mi_red nginx
To umožňuje rôznym skupinám kontajnerov mať nezávislé siete s rôznymi politikami a pravidlami izolácie, čo je užitočné v pokročilých vývojových prostrediach alebo pri nasadeniach s viacerými aplikáciami na tom istom počítači.
Vzťah medzi sieťami a podmi je veľmi flexibilný: pri vytváraní podu môžeme špecifikovať ku ktorej sieti sa pripája, ako sú jeho porty inzerované a aké prístupové pravidlá sa uplatňujúčo veľmi dobre zodpovedá spôsobu, akým sa neskôr vykonáva migrácia na scenáre Kubernetes.
Integrácia s Kubernetes a generovanie YAML
Jednou zo silných stránok Podmana je, že Svet lokálneho vývoja približuje svet Kubernetes k svetu lokálneho vývoja.Hoci na prácu s podmi na vašom počítači nepotrebujete klaster, ak sa niekedy rozhodnete pre prechod, môžete znova použiť väčšinu toho, čo už máte.
podman generate kube MI_POD > mi_pod.yaml
Ten súbor mi_pod.yaml Môže slúžiť priamo ako základ pre nasadenie tej istej aplikácie na skutočnom klastri Kubernetes a podľa potreby ju upraviť. Môžeme ísť aj opačným smerom a Vytvorenie zdrojov Podman z manifestu K8s prostredníctvom:
podman kube play mi_pod.yaml
Vďaka tomuto premosteniu je veľmi prirodzené začať s Podmanom vo vývojových alebo testovacích prostrediach a neskôr presunúť rovnaké pracovné zaťaženie do Kubernetes bez toho, aby bolo potrebné prerábať celú konfiguráciu od začiatku.
Podman Desktop: grafické rozhranie, ladenie a ekosystém
Pre tých, ktorí sa radšej vyhýbajú toľkým príkazom alebo chcú mať vizuálny zážitok z kontajnerov, Podman Desktop je multiplatformové grafické rozhranie s otvoreným zdrojovým kódom. ktorý sa integruje s Podmanom a v mnohých prípadoch aj s Kubernetes.
Z tohto rozhrania môžete vytvárať, spúšťať, zastavovať, reštartovať a kontrolovať kontajnery Niekoľkými kliknutiami si môžete zobraziť protokoly v reálnom čase, skontrolovať využitie CPU, pamäte a disku a otvoriť interaktívny terminál vo vnútri kontajnera na ladenie problémov alebo spustenie konkrétnych príkazov.
Jednou z jeho najpraktickejších funkcií je sprievodca vytváraním obrazov. Namiesto trápenia sa s možnosťami v rozhraní príkazového riadka vám Podman Desktop umožňuje... sprievodca krok za krokom pri výbere základné obrazy, závislosti a konfigurácie, dokonca umožňuje viacstupňové zostavovanie na zníženie konečnej veľkosti obrázka a zlepšenie výkonu.
Nástroj tiež ponúka integrovaný pohľad na zdroje Kubernetes, ako sú pody, nasadenia a služby. To umožňuje monitorovať klaster, kontrolovať stav aplikácií a upravovať limity zdrojov bez opustenia tej istej aplikácie, čo je ideálne v cloudových natívnych vývojových prostrediach.
Okrem toho má Podman Desktop ekosystém pluginov a kompatibilitu s mnohými rozšíreniami pôvodne navrhnutými pre Docker Desktop, čo uľahčuje prechod z jednej platformy na druhú pre tímy, ktoré už boli veľmi zvyknuté pracovať s grafikou.
Najlepšie postupy, bezpečnosť a automatizácia s Podmanom
Aby ste z Podmanu vyťažili maximum, je vhodné dodržiavať niekoľko osvedčených postupov, najmä v prostrediach, kde záleží na bezpečnosti a výkone. Jedným z najodporúčanejších je Vždy, keď je to možné, používajte nádoby bez koreňovspustením Podmana ako bežný používateľ a vyhnutím sa udeleniu viacerých privilégií, než je nevyhnutné.
Ďalším veľmi užitočným zvykom je využite kompatibilitu s Docker CLIAk už máte veľa skriptov a kanálov, ktoré volajú dockerMôžete definovať alias:
alias docker=podman
a naďalej používať presne tie isté príkazy ako predtým, ale delegovať ich na Podman pod ním. To výrazne zjednodušuje postupné migrácie vo vývojových alebo CI/CD tímoch, kde by zmena všetkých skriptov naraz bola nočnou morou.
Pokiaľ ide o správu priestoru, je vhodné pravidelne čistiť nepoužívané zdroje. Príkazy ako napríklad:
podman image prune
podman container prune
Odstraňujú obrázky a kontajnery, ktoré sa už nepoužívajú, a pomáhajú tak zabrániť zaplneniu hostiteľského úložiska nečistotami starých testov a nasadení.
Nakoniec, v podnikateľskom prostredí je zaujímavé integrovať Podman s Nástroje CI/CD, správa konfigurácie a bezpečnostné riešeniaKeďže je open source a podporuje štandardy OCI, veľmi dobre sa hodí do pipeline s GitHub Actions, GitLab CI, Jenkins a podobnými nástrojmi, čo vám umožňuje vytvárať, podpisovať a nasadzovať obrazy bez závislosti od Dockeru.
Vzhľadom na všetky vyššie uvedené skutočnosti sa Podman stáva veľmi solídnou voľbou pre tých, ktorí už Docker používajú, ako aj pre tých, ktorí s kontajnermi len začínajú, a ponúka kombináciu... bezpečnosť, kompatibilita, integrácia s Kubernetes a jednoduchosť používania čo ho robí obzvlášť atraktívnym pre moderné projekty, vývojové prostredia a produkčné nasadenia.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.