1 08/04/2026 7 min

Installare Podman su Ubuntu 22.04

Podman è una scelta solida se vuoi gestire container senza dipendere dal demone centrale tipico di Docker. Su Ubuntu 22.04 l’installazione è lineare, ma conviene farla con un minimo di contesto: prima verifichi la base del sistema, poi installi i pacchetti, infine controlli che la rete, i namespace utente e l’esecuzione rootless siano corretti.

Su una macchina Linux recente, il punto non è solo installare il pacchetto: è capire se il sistema è pronto per eseguire container in modo affidabile. Questo vale soprattutto se stai lavorando su server di produzione, VPS o ambienti dove vuoi ridurre la superficie di attacco e limitare l’uso di privilegi elevati.

Requisiti minimi

Prima di iniziare, verifica di avere:

  • Ubuntu 22.04 aggiornato
  • Accesso sudo
  • Connessione Internet per i repository
  • Almeno qualche GB di spazio libero su disco

Controlla velocemente versione e stato generale:

lsb_release -a
uname -r
df -h
id

Se il sistema è coerente, dovresti vedere Ubuntu 22.04, un kernel recente, spazio disco disponibile e il tuo utente con privilegi sudo se necessario.

Aggiornare il sistema prima dell’installazione

Prima di aggiungere nuovi pacchetti, conviene allineare gli indici e installare gli aggiornamenti già disponibili. È un passaggio semplice, ma evita problemi banali come dipendenze incoerenti o versioni vecchie di librerie di sistema.

sudo apt update
sudo apt upgrade -y

Se vuoi ridurre il rischio di lasciare il sistema in uno stato intermedio, esegui prima un controllo dei pacchetti in attesa:

apt list --upgradable

Se trovi molti aggiornamenti critici, valuta di completare il reboot prima di proseguire, soprattutto se il kernel è stato aggiornato. Dopo il riavvio, ripeti un controllo rapido con uname -r.

Installare Podman dai repository Ubuntu

Su Ubuntu 22.04 Podman è disponibile direttamente nei repository ufficiali. Per la maggior parte dei casi, questa è la strada più pulita: meno manutenzione, meno attriti con le dipendenze e aggiornamenti gestiti da APT.

sudo apt install -y podman

Se il pacchetto viene installato correttamente, puoi verificare la versione:

podman --version

Atteso: una risposta simile a podman version x.y.z. Se il comando non viene trovato, controlla che l’installazione sia andata a buon fine:

dpkg -l | grep podman

In caso di errore di dipendenze, il primo controllo utile è il log di APT e lo stato dei pacchetti rotti:

sudo apt -f install
sudo dpkg --configure -a

Questi comandi non sono distruttivi: servono a completare configurazioni rimaste sospese o a sistemare dipendenze mancanti.

Verificare il funzionamento base

Una volta installato, fai un test con un’immagine minima. È il modo più rapido per capire se il motore container funziona, se la rete è operativa e se il runtime riesce a scaricare immagini dal registry.

podman run --rm docker.io/library/alpine:latest echo OK

Se tutto è a posto, dovresti vedere OK come output. In caso contrario, i problemi più comuni sono connettività, DNS, policy di rete o permessi legati all’ambiente rootless.

Per un controllo più utile, prova anche un container interattivo e verifica che il filesystem sia montato correttamente:

podman run --rm -it docker.io/library/alpine:latest sh

All’interno del container puoi eseguire:

cat /etc/os-release
ip a
exit

Se il container parte e risponde, il runtime di base è operativo.

Configurare l’uso rootless

Uno dei vantaggi principali di Podman è l’esecuzione rootless, cioè senza dover usare l’utente root per avviare i container. Su Ubuntu 22.04 questa modalità è spesso già disponibile, ma è bene verificare che il sistema supporti correttamente i namespace utente e la mappatura degli UID.

Controlla innanzitutto che il tuo utente abbia una mappatura valida:

cat /etc/subuid
cat /etc/subgid

Se il tuo utente non compare, la modalità rootless può avere limitazioni. In molti casi puoi aggiungere una coppia di intervalli dedicati con:

sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER

Dopo la modifica, esci e rientra nella sessione oppure avvia una nuova shell, poi verifica di nuovo i file /etc/subuid e /etc/subgid.

Puoi confermare che Podman stia lavorando in rootless con:

podman info --debug | grep -i rootless

Atteso: un’indicazione che rootless è attivo. Se il sistema non supporta bene i namespace utente, il problema è spesso nel kernel, nelle policy di sicurezza o nella configurazione degli intervalli UID/GID.

Abilitare il socket API e i servizi utente

Podman può esporre un socket compatibile con alcune integrazioni e con flussi di automazione. Su sistemi dove vuoi usare servizi utente o avvio automatico, conviene verificare il supporto di systemd in modalità user.

Per abilitare il socket dell’utente corrente:

systemctl --user enable --now podman.socket

Verifica lo stato:

systemctl --user status podman.socket

Se il servizio risulta attivo, il socket è pronto. In caso di errore, controlla che la sessione utente sia persistente e che il login non venga terminato subito dopo il logout. Su server senza sessione grafica, può essere utile abilitare il lingering dell’utente:

sudo loginctl enable-linger $USER

Questo permette ai servizi user di restare disponibili anche senza una sessione interattiva aperta.

Usare il primo container in modo sicuro

Dopo l’installazione, il primo obiettivo non è fare esperimenti complessi, ma verificare un flusso minimale e ripetibile. Un buon test è avviare un container che esegua un comando semplice e poi si chiuda da solo.

podman run --rm docker.io/library/alpine:latest sh -c 'echo container pronto'

Se vuoi vedere il comportamento dei container in background, prova un web server minimale:

podman run -d --name webtest -p 8080:80 docker.io/library/nginx:alpine

Poi verifica dal sistema host:

curl -I http://127.0.0.1:8080

Atteso: una risposta HTTP valida, ad esempio 200 OK o un redirect previsto dal container. Quando hai finito, rimuovi il test:

podman stop webtest
podman rm webtest

Questo approccio ti fa verificare sia il runtime sia il port mapping senza introdurre configurazioni permanenti.

Gestire immagini, container e pulizia

Dopo i primi test, conviene conoscere i comandi base per non accumulare artefatti inutili. Podman mantiene immagini e container locali, quindi una pulizia periodica aiuta a evitare consumo disco inutile.

Per vedere le immagini disponibili:

podman images

Per vedere i container, anche quelli fermi:

podman ps -a

Per rimuovere un container fermo:

podman rm NOME_CONTAINER

Per cancellare un’immagine non più necessaria:

podman rmi NOME_IMMAGINE

Se vuoi ripulire risorse non usate con attenzione, puoi usare:

podman system df
podman system prune

Prima di eseguire podman system prune, verifica cosa verrà rimosso, perché può eliminare risorse non più referenziate ma ancora utili in fase di test.

Risoluzione dei problemi più comuni

Se Podman si installa ma non riesce a scaricare immagini, il primo sospetto è la rete o il DNS. Verifica con:

curl -I https://registry-1.docker.io
resolvectl status

Se il container parte ma non risolve nomi, il problema è spesso nel resolver del sistema o nella configurazione della rete del container. Se invece il comando restituisce errori di permesso, controlla i namespace utente e i file /etc/subuid e /etc/subgid.

Se vedi errori legati a storage o overlay, controlla lo spazio libero e lo stato del filesystem:

df -h
podman info | grep -i storage

Se il disco è quasi pieno, libera spazio prima di riprovare. Su sistemi con storage compresso o partizioni piccole, i container possono fallire anche se l’installazione è corretta.

Se il problema riguarda un’immagine corrotta o un pull interrotto, elimina l’immagine locale e riprova:

podman rmi docker.io/library/alpine:latest
podman pull docker.io/library/alpine:latest

In caso di problemi persistenti, i log utili sono quelli del comando stesso e quelli di sistema se stai usando servizi user o integrazioni systemd.

Conclusione operativa

A questo punto Podman è installato, verificato e pronto per essere usato su Ubuntu 22.04 in modalità base e rootless. Il flusso corretto è sempre lo stesso: aggiorna il sistema, installa il pacchetto, prova un container minimale, verifica rete e permessi, poi passa a configurazioni più avanzate solo se servono davvero.

Se il tuo obiettivo è usarlo su una macchina di produzione, il vantaggio principale è la gestione senza demone centrale e con un profilo di sicurezza più pulito. Da qui puoi evolvere verso immagini personalizzate, pod, volumi e integrazione con systemd, ma solo dopo aver confermato che il setup di base è stabile.

Assunzione: i comandi mostrati si riferiscono a Ubuntu 22.04 standard, con repository ufficiali attivi e accesso sudo disponibile.