Podman guida · 9 min read · Oct 05, 2025

Guida per principianti all'installazione e all'uso di Podman su AlmaLinux 9

Podman è uno strumento nativo di Linux per il deployment di applicazioni utilizzando container e immagini di container dell’Open Container Initiative (OCI). Supporta più formati di immagini di container, comprese le immagini Docker e le immagini di container OCI. Inoltre, Podman supporta la gestione di pod e gruppi di container.

Podman è uno strumento senza daemon, che funziona come un singolo comando binario senza un servizio. Fornisce una riga di comando simile a Docker, puoi usare un alias come ‘alias docker=podman’.

In questa guida, ti mostreremo come installare e utilizzare Podman come sostituto di Docker Engine su un server AlmaLinux 9. Imparerai alcune nozioni di base sull’uso di Podman per gestire applicazioni containerizzate. Completando questa guida, avrai una migliore comprensione dell’uso di Podman come orchestrazione di container per il tuo sviluppo locale.

Prerequisiti

Per iniziare con questa guida, devi avere i seguenti requisiti:

  • Un server AlmaLinux 9 - Questo esempio utilizza un server con il nome host ‘AlmaLinux9‘.
  • Un utente non root con privilegi di amministratore sudo/root.

Installazione di Podman

Podman è un’orchestrazione di container senza daemon e open-source per uno sviluppo rapido. Podman è un’applicazione nativa di Linux e fornisce un’interfaccia a riga di comando simile a Docker.

Con Podman, puoi trovare, eseguire, condividere e distribuire applicazioni utilizzando container e immagini di container OCI (Open Containers Initiative).

Su AlmaLinux, Podman è disponibile per impostazione predefinita nel repository AppStream, puoi installarlo utilizzando il gestore pacchetti DNF.

Esegui il seguente comando dnf per installare Podman sul tuo server AlmaLinux.

sudo dnf install podman

Inserisci y quando richiesto, quindi premi INVIO.

installing podman

Poiché Podman è senza daemon, puoi semplicemente eseguirlo senza avviare alcun daemon.

Esegui il seguente comando per controllare la versione di Podman e informazioni dettagliate sulla tua installazione.

podman version

Di seguito è riportato un output della versione corrente di Podman durante questa scrittura:

checking podman version

Inoltre, puoi anche verificare i dettagli dell’installazione di Podman utilizzando il seguente comando.

podman info

Esecuzione di Podman come utente non root

In questa sezione, configurerai Podman per un utente non root. Creerai un nuovo utente e garantirai che il nuovo utente non root possa eseguire e gestire container con Podman.

Esegui il seguente comando per creare un nuovo utente chiamato ‘alice‘ e configurare la password per esso. Inserisci una nuova password quando richiesto, quindi ripeti.

sudo useradd -m -s /bin/bash alice  
sudo passwd alice

Ora, aggiungi il nuovo utente ‘alice‘ al gruppo ‘wheel‘. Questo consente al nuovo utente di eseguire ‘sudo‘ e diventare root.

sudo usermod -aG wheel alice

Dopo di che, esegui il seguente comando per abilitare il lingering per l’utente ‘alice’. Questo consente all’utente ‘alice’ di eseguire il processo del container per un lungo periodo, anche quando l’utente è disconnesso, il processo continuerà a funzionare.

sudo loginctl enable-linger alice

Successivamente, accedi come il nuovo utente ‘alice‘ utilizzando il comando qui sotto.

su - alice

create new user

Esegui il comando ‘podman‘ qui sotto per eseguire un nuovo container con l’immagine ‘hello-world‘.

podman run hello-world

Se tutto va a buon fine, dovresti ottenere un output simile a questo:

running container hello-world

Infine, esegui il seguente comando ‘podman’ per verificare l’elenco dei container in esecuzione e quelli terminati.

podman ps -a

Se la configurazione è andata a buon fine, dovresti vedere il container con l’immagine di base ‘hello-world‘ con lo stato ‘Exited‘.

Trovare immagini di container

Per impostazione predefinita, Podman recupera immagini di container da più registri di immagini, come il registro delle immagini Redhat, quay.io e anche DockerHub. Puoi aggiungere più registri di immagini di container alla configurazione ‘/etc/containers/registries.conf’.

Questo esempio utilizzerà DockerHub come registro di container, quindi iniziamo.

Esegui il seguente comando per trovare nuove immagini di container che contengono ‘httpd‘.

podman search httpd

Di seguito è riportato un output che dovresti ricevere nel tuo terminale:

searching container

Puoi anche limitare l’output utilizzando l’opzione ‘–limit‘ in questo modo.

podman search httpd --limit 3

Questo mostrerà solo le prime tre immagini di container da ciascun registro di immagini di container.

finding images top 3

Infine, puoi anche utilizzare l’opzione ‘–filter‘ in questo modo.

podman search httpd --filter=is-official

Questo ti mostrerà solo immagini di container ufficiali.

Scaricare immagini

Dopo aver trovato le immagini di container, il passo successivo è scaricare le immagini di container dai registri.

Esegui il seguente comando per scaricare l’immagine ‘httpd‘ con il tag ‘alpine‘.

podman pull httpd:alpine

Seleziona il registro delle immagini che desideri utilizzare. Questo esempio utilizzerà DockerHub.

Dopo che la sorgente è stata selezionata, il processo di download inizierà.

pull images

Una volta terminato, esegui il seguente comando per controllare le immagini disponibili sul tuo server AlmaLinux.

podman images

A questo punto, se tutto va bene, dovresti ottenere due immagini di container, l’immagine ‘hello-world‘ da quay.io e ‘httpd‘ da DockerHub.

Ispezionare immagini

Ispezionare le immagini è un modo potente per ottenere informazioni dettagliate su come il container si avvierà. Su Podman e Docker, puoi ispezionare le immagini con l’opzione ‘inspect’.

Esegui il seguente comando per ottenere informazioni dettagliate sull’immagine ‘httpd:alpine‘.

podman inspect docker.io/library/httpd:alpine

Questo ti mostrerà informazioni dettagliate sulle immagini, come la data di creazione, la dimensione, la directory di lavoro predefinita, il comando di avvio, la porta esposta e molto altro.

detailed image

Puoi anche specificare quale parte vuoi controllare utilizzando i parametri aggiuntivi in questo modo.

podman inspect --format "size: {{.Size}}" docker.io/library/httpd:alpine  
podman inspect --format "ports: {{.Config.ExposedPorts}}" docker.io/library/httpd:alpine  
podman inspect --format "workdir: {{.Config.WorkingDir}}" docker.io/library/httpd:alpine

Questo ti mostrerà la dimensione dell’immagine, la porta esposta predefinita e la directory di lavoro predefinita.

Eseguire il container

In questa sezione, imparerai come eseguire il container con Podman.

Inserisci il seguente comando per eseguire un nuovo container chiamato ‘httpd’, esponendo la porta 8080 sulla macchina host e utilizzando l’immagine ‘httpd:alpine‘. Inoltre, il parametro ‘–rm‘ rimuoverà automaticamente il container al termine del suo funzionamento.

podman run -it --rm -d -p 8080:80 --name httpd docker.io/library/httpd:alpine

Se tutto va a buon fine, dovresti ottenere una stringa e un numero casuali dell’ID del nuovo container.

Controlla il container in esecuzione utilizzando il seguente comando. Dovresti ottenere il container ‘httpd‘ con lo stato ‘Up‘ e utilizzare la porta 8080 sulla macchina host.

podman ps

Successivamente, puoi controllare il container ‘httpd’ utilizzando il comando curl qui sotto. Assicurati di sostituire l’indirizzo IP nell’esempio qui sotto con l’indirizzo IP del tuo server.

curl http://192.168.5.20:8080/

Se tutto va a buon fine, dovresti ottenere un output simile a questo:

Inoltre, puoi anche accedere al container ‘httpd’ tramite il browser web. Apri il tuo browser web e visita l’indirizzo IP del server seguito dalla porta del container 8080 (cioè: http://192.168.5.20:8080/).

Se tutto va a buon fine, dovresti ottenere la pagina index.html predefinita dal container ‘httpd‘ come questa:

Controllare i log del container

Con il container ‘httpd’ in esecuzione, ora controllerai i log del container. Sapere questo è utile per il debug delle tue applicazioni.

Per mostrare tutti i log dal container ‘httpd‘, esegui il seguente comando.

podman logs httpd

Questo è un esempio di log dal container ‘httpd’.

Successivamente, puoi ridurre l’output dei log utilizzando il parametro ‘–tail‘ in questo modo.

podman logs --tail 20 httpd

In questo esempio, il parametro ‘tail 20‘ ti mostrerà le ultime 20 righe di log dal container ‘httpd‘.

Fermare il container

Ora, se desideri fermare il container, esegui semplicemente *podman stop*.

Esegui il seguente comando per fermare il container ‘httpd‘.

podman stop httpd

Una volta che il container ‘httpd‘ è stato fermato, esegui il comando qui sotto per controllare l’elenco dei container disponibili sul tuo sistema.

podman ps  
podman ps -a

Il container ‘httpd‘ viene automaticamente eliminato dopo che il container è stato fermato. Questo perché hai eseguito il container con il parametro ‘–rm‘.

Eseguire il container con volume personalizzato

In questo esempio, eseguirai un nuovo container con volume personalizzato. Questo monterà la directory locale sulla macchina host nel container.

Crea una nuova directory ‘data‘ all’interno della home directory dell’utente alice. Quindi crea un nuovo file ‘index.html‘ all’interno della directory ‘data‘ utilizzando l’editor nano.

mkdir -p ~/data/  
nano ~/data/index.html

Inserisci il seguente script HTML.

  
  
  
    
  Benvenuto in Container Nginx  
  
  
  

Ciao dal container httpd - Gestito con Podman

Salva e chiudi il file.

Ora, esegui il seguente comando per eseguire un nuovo container ‘httpd’ con il volume personalizzato della directory ‘data‘, che sarà montato nella directory ‘/usr/local/apache2/htdocs‘ nel container.

podman run --privileged=true -it --rm -d -p 8080:80 --name httpd -v ~/data:/usr/local/apache2/htdocs docker.io/library/httpd:alpine

Inoltre, questo container è in esecuzione con un parametro aggiuntivo ‘–privileged=true‘. Questo è per testare, eppure il container verrà eseguito come utente ‘alice‘ e non come utente root. Ottieni maggiori informazioni sui flag privilegiati su Podman.

Successivamente, esegui il seguente comando per controllare il container in esecuzione sul tuo sistema.

podman ps

Se tutto va a buon fine, dovresti vedere il nuovo container ‘httpd‘ con lo stato ‘Up‘ e la porta esposta 8080 sulla macchina host.

Esegui il comando curl qui sotto per verificare il nuovo container ‘httpd‘.

curl http://192.168.5.21:8080/

Dovresti ottenere un output dello script index.html che hai creato in precedenza.

accessing container

Come dal browser web su http://192.168.5.21:8080/, dovresti visualizzare la pagina personalizzata come questa:

access container

Accedere al container

Con il container ‘httpd‘ in esecuzione, puoi accedere al container tramite shell utilizzando il comando ‘podman exec‘.

Accedi al container ‘httpd‘ utilizzando il seguente comando. Questo eseguirà la shell ‘/bin/sh‘ nel container ‘httpd‘ e la collegherà alla tua sessione attuale.

podman exec -it httpd /bin/sh

Una volta effettuato l’accesso, dovresti essere nella directory ‘WorkingDir‘. In questo esempio, la directory di lavoro predefinita è la directory ‘/usr/local/apache2‘.

Ora esegui il seguente comando nel container ‘httpd‘. Controlla l’utente corrente, l’indirizzo IP locale del container e il gateway predefinito per il container.

id  
  
ip a  
route -n

Potresti avere un output con un indirizzo IP e un gateway diversi, ma dovrebbe essere simile a questo:

accessing container

Eseguire e gestire Pod

In Podman, puoi creare ed eseguire un Pod. Il pod è un contenitore per i container, il che significa che più container possono essere eseguiti su un singolo Pod. Come in Kubernetes, il Pod è l’entità più piccola in cui la tua applicazione è in esecuzione.

Con Podman, puoi creare ed eseguire Pod, anche senza Kubernetes.

Esegui il seguente comando per creare un nuovo pod httpdTest con l’immagine ‘httpd:alpine‘ ed esporre la porta 9090 sulla macchina host.

podman run -dt --pod new:httpdTest -p 9090:80 docker.io/library/httpd:alpine

Se tutto va a buon fine, dovresti ottenere una stringa e un numero casuali dell’ID del Pod.

Ora esegui il seguente comando per controllare il Pod in esecuzione sul tuo sistema.

podman pod ls

Dovresti vedere il Pod ‘httpdTest‘ con lo stato ‘Running‘ e 2 container.

create pod

Puoi ora utilizzare l’opzione ‘inspect‘ sul pod in questo modo.

podman pod inspect httpdTest

Dovresti ottenere informazioni dettagliate sul pod httpdTest.

podman inspect pod

Puoi anche controllare il numero di container che vengono eseguiti all’interno dei pod, inclusi i nomi dei container utilizzando il seguente comando.

podman pod inspect --format="containers: {{.NumContainers}}" httpdTest  
podman pod inspect --format "{{.Containers}}" httpdTest

Otterrai un output simile a questo:

Infine, esegui il seguente comando per accedere al pod httpdTest, che è in esecuzione sulla porta 9090 sulla macchina host. Se tutto va a buon fine, dovresti ottenere la pagina index.html predefinita dei container che vengono eseguiti nel pod httpdTest.

curl http://192.168.5.21:9090/

Conclusione

Congratulazioni! Hai ora installato Podman su AlmaLinux 9. Hai anche appreso le nozioni di base sull’uso di Podman per gestire immagini e container. Inoltre, hai anche imparato come creare ed eseguire Pod con Podman.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.