Questa guida spiega cos'è Podman, le sue caratteristiche, la differenza tra un contenitore Podman e un'immagine e come installare Podman nei sistemi operativi Linux.
Cos'è Podman?
Podman, acronimo di POD MANager, è un'utilità di gestione dei container opensource da riga di comando basata su libmod
biblioteca.
Podman ti consente di creare, sviluppare e gestire contenitori e immagini Open Container Initiative (OCI), volumi montati in tali contenitori e pod creati da gruppi di contenitori.
L'utilizzo di Podman è uguale a quello di Docker
Podman è simile a Docker in termini di utilizzo. Podman offre lo stesso insieme di comandi forniti da Docker. Se hai già familiarità con Docker, non sentirai molta differenza.
Podman supporta anche un'API REST che fornisce sia un'interfaccia compatibile con Docker che un'interfaccia migliorata che espone funzionalità avanzate di Podman.
Anche se Podman fornisce un'interfaccia simile a Docker, presenta alcune differenze distintive. Le due caratteristiche significative sono:Modalità senza root e baccelli .
Modalità rootless
A differenza di Docker, Podman non richiede un demone. È uno strumento di gestione dei container senza daemon (rootless).
Podman non richiede privilegi di superutente per eseguire i container. I contenitori possono essere eseguiti come root
o in modalità rootless come utente normale.
Quando esegui Podman come utente non root, crea uno spazio dei nomi utente all'interno del quale acquisisce i permessi di root. Ciò consente di montare file system e configurare i contenitori richiesti. Per dirla in altre parole, i contenitori Podman utilizzano gli spazi dei nomi utente per impostare come root nel contenitore l'utente che esegue Podman.
L'esecuzione di Podman senza root migliora la sicurezza. Anche se il motore del contenitore o il runtime sono compromessi, perché gli aggressori non disporranno dei privilegi di root sul tuo sistema.
Consente inoltre a più utenti senza privilegi di eseguire container sulla stessa macchina. Docker ora ha rootless supporto della modalità. Tuttavia, Podman aveva questa funzionalità prima di Docker.
baccelli
L'altro vantaggio notevole di Podman è che puoi creare gruppi di contenitori. Li chiamiamo Pod. In Podman, i contenitori possono formare "baccelli" che operano insieme.
Podman fornisce un ottimo supporto per la gestione di più contenitori, ad esempio Pod. Questa funzionalità non è disponibile in altri strumenti di runtime del contenitore.
Immagini conformi a OCI
Le immagini create da Podman aderiscono allo standard OCI, quindi le immagini Podman sono completamente compatibili con altri strumenti di runtime del contenitore come Docker.
Puoi pubblicare le immagini di nuova creazione nei registri Container come Quay o Hub Docker per condividerli con il mondo. Chiunque può scaricarli, usarli e persino migliorarli.
Pronto per il sistema
Podman è costruito pensando a systemd. Significato - Podman può essere controllato tramite unità systemd. Supporta anche systemd in container, pronto all'uso.
Gratuito e open source!
Podman è uno strumento gratuito nativo per Linux sviluppato da Red Hat e dovrebbe funzionare perfettamente su altre distribuzioni Linux.
Prima di installare Podman, lascia che ti dia una breve panoramica delle immagini e dei contenitori. Questi due sono strettamente correlati, ma distinti.
Contenitori vs Immagini
Un'immagine è il file che decide come deve comportarsi un contenitore e il contenitore è la fase in esecuzione o interrotta di un'immagine.
Puoi eseguire molti contenitori usando la stessa immagine. I contenitori sono isolati dal resto dei file dell'host.
Quando eseguiamo un contenitore, utilizza un filesystem isolato fornito dall'immagine. L'immagine è composta da tutto il necessario per eseguire un'applicazione:tutte le dipendenze, la configurazione, gli script, i file binari, ecc.
L'immagine contiene anche altre configurazioni per il contenitore, come variabili di ambiente, un comando predefinito da eseguire e altri metadati.
Il seguente estratto dalla documentazione ufficiale di Docker fornisce una spiegazione chiara e concisa di Contenitori e Immagini.
Puoi elencare le immagini disponibili localmente usando podman images
comando e i contenitori usando podman ps
comando. Impareremo di più sui comandi Podman nelle nostre prossime guide.
Installa Podman in Linux
Podman è preinstallato in Fedora CoreOS, Fedora Silverblue e Fedora 34. Se stai utilizzando una di queste distribuzioni, non è necessario installare Podman.
Podman è confezionato per molti moderni sistemi operativi Linux ed è disponibile nei repository predefiniti.
Per installare Podman in Alpine Linux, esegui:
$ sudo apk add podman
Installa Podman in Arch Linux, EndeavourOS e Manjaro Linux:
$ sudo pacman -S podman
Installa Podman in Debian, Ubuntu, Pop_OS!:
$ sudo apt install podman
Installa Podman in CentOS 8, Fedora 33 e precedenti, RHEL 8, AlmaLinux 8 e Rocky Linux 8:
$ sudo dnf install podman
Installa Podman in openSUSE:
$ sudo zypper install podman
Per verificare la versione Podman installata, esegui:
$ podman -v podman version 3.2.2
Leggi il prossimo:
Impara le basi di Podman e come iniziare a utilizzare Podman in Linux con esempi pratici:
- Tutorial Podman – Inizia con Podman
Utilizza Podman online
Se non hai Linux o non vuoi installare Podman, puoi utilizzare Katacoda, una piattaforma online che fornisce molti ambienti sandbox per conoscere e giocare con diversi tipi di tecnologie.
Per utilizzare Podman direttamente dal tuo browser senza installarlo sul tuo sistema, vai al seguente link.
- Podman online con Katacoda .
Conclusione
In questa breve guida, abbiamo esaminato cos'è Podman e come si differenzia da altri runtime di container come Docker. Abbiamo anche discusso qual è la differenza tra un contenitore e un'immagine. Infine, abbiamo visto come installare Podman in varie distribuzioni Linux.