Guide

Podman su Linux: alternativa sicura e rootless a Docker

Dario Fadda Giugno 30, 2026

Cos’è Podman e perché considerarlo

Docker è stato per anni il punto di riferimento per la containerizzazione su Linux. Funziona, è ben documentato e ha un ecosistema enorme. Eppure, man mano che i requisiti di sicurezza sono aumentati e l’integrazione con systemd è diventata più importante, le sue limitazioni strutturali hanno iniziato a pesare. Podman nasce per affrontare esattamente questi problemi.

Podman (Pod Manager) è un container engine open source, daemonless: a differenza di Docker, non ha un demone centralizzato (dockerd) che gira in background con privilegi root. I container vengono avviati direttamente come processi figli dell’utente, il che significa che è possibile eseguirli in modalità rootless, senza mai richiedere sudo. Supporta gli stessi formati OCI di Docker (le immagini Docker funzionano senza modifiche), parla la stessa sintassi CLI e comprende nativamente il concetto di pod, gruppo di container che condividono rete e storage, esattamente come in Kubernetes.

Installazione su Linux

Podman è disponibile nei repository ufficiali di tutte le principali distribuzioni. Non servono PPA esterni o script di terze parti.

Debian / Ubuntu (20.10+) e Linux Mint:

sudo apt-get update
sudo apt-get install -y podman

Fedora / CentOS Stream / RHEL 8+:

sudo dnf install -y podman

openSUSE:

sudo zypper install podman

Arch / Manjaro:

sudo pacman -S podman

Dopo l’installazione, verificare con:

podman --version
podman info

Un rapido smoke test per assicurarsi che tutto funzioni:

podman run hello-world

Se si ottiene il messaggio di conferma, Podman è operativo.

Comandi di base: la compatibilità con Docker è quasi totale

La CLI di Podman rispecchia quella di Docker comando per comando. Chi conosce Docker si trova subito a proprio agio. Ecco i comandi più usati:

# Shell interattiva in un container Ubuntu
podman run -it ubuntu bash

# Container in background (Nginx su porta 8080)
podman run -d --name web -p 8080:80 nginx

# Elenco container in esecuzione
podman ps

# Elenco di tutte le immagini locali
podman images

# Stop e rimozione
podman stop web
podman rm web

Per chi vuole una transizione trasparente, è possibile creare un alias:

alias docker=podman

Oppure installare il pacchetto podman-docker, che fornisce uno shim che reindirizza automaticamente i comandi docker a Podman.

Le differenze che contano davvero

La maggior parte dei comandi funziona identica, ma ci sono differenze che emergono quando si lavora con volumi e SELinux. La più comune riguarda i bind mount in modalità rootless: i namespace utente e il mapping subuid/subgid possono causare problemi di ownership. Sui sistemi con SELinux attivo è necessario aggiungere il suffisso :Z ai volumi:

podman run -v /host/path:/container/path:Z myimage

La z minuscola condivide il volume tra più container; la Z maiuscola lo etichetta come privato per un singolo container. Altre differenze da tenere a mente:

  • L’accesso GPU rootless per NVIDIA richiede nvidia-container-toolkit e la configurazione CDI.
  • Docker Secrets e alcune configurazioni di rete non hanno un mapping diretto.
  • I container rootless usano porte superiori a 1024 per default (limite del kernel per utenti non root).

Nessuna di queste differenze è un blocco, ma richiedono un test esplicito prima di assumere che la migrazione sia trasparente.

Integrazione con systemd: i Quadlet

Questo è forse il punto di forza più significativo di Podman per un amministratore di sistema. Invece di lasciare un demone attivo, è possibile affidare i container a systemd tramite i Quadlet: file dichiarativi con estensione .container che Podman trasforma automaticamente in unit systemd.

Per un servizio utente rootless, creare il file in ~/.config/containers/systemd/. Esempio minimale per Nginx:

[Container]
ContainerName=web
Image=docker.io/library/nginx:latest
PublishPort=8080:80

[Install]
WantedBy=default.target

Ricaricare systemd e avviare il servizio:

systemctl --user daemon-reload
systemctl --user start web

Aggiungendo l’etichetta AutoUpdate=registry, Podman scaricherà automaticamente le immagini aggiornate e riavvierà il servizio tramite timer, senza alcun tool esterno:

podman auto-update

Migrazione da Docker Compose

Chi ha ambienti basati su Docker Compose ha due strade. La prima è continuare a usare Compose puntando al socket di Podman, abilitandolo con:

systemctl --user enable --now podman.socket

I file docker-compose.yml esistenti funzionano senza modifiche. La seconda opzione è convertire i Compose in Quadlet usando podlet, uno strumento che legge un docker-compose.yml e genera i corrispondenti file Quadlet. La curva di apprendimento c’è, ma il risultato è un’integrazione più pulita con il sistema.

Quando Docker rimane la scelta migliore

Podman offre sicurezza migliore e un’integrazione più nativa con Linux. Ma Docker ha un ecosistema più maturo: Docker Swarm, strumenti CI/CD che assumono la presenza del comando docker, e team già standardizzati su determinati workflow. Se si parte da zero su un server Linux, Podman è la scelta più pulita. Se si ha già un’infrastruttura Docker consolidata, la migrazione va pianificata e testata con attenzione.

Podman è un’alternativa concreta e matura a Docker, non un esperimento di nicchia. L’assenza del demone root, l’integrazione nativa con systemd tramite Quadlet e la compatibilità quasi totale con la CLI Docker lo rendono una scelta solida per chiunque gestisca container su Linux. L’installazione richiede un singolo comando, i comandi quotidiani sono identici a Docker, e i vantaggi in termini di sicurezza arrivano senza configurazioni complesse. Vale la pena provarlo.

Fonte: Docker Alternative: Podman on Linux – LinuxBlog.io

💬 Unisciti alla discussione!


Questo è un blog del Fediverso: puoi trovare quindi questo articolo ovunque con @blog@spcnet.it e ogni commento/risposta apparirà qui sotto.

Se vuoi commentare su Podman su Linux: alternativa sicura e rootless a Docker, utilizza la discussione sul Forum.
Condividi la tua esperienza, confrontati con altri professionisti e approfondisci i dettagli tecnici nel nostro 👉 forum community