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 podmanInserisci y quando richiesto, quindi premi INVIO.

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 versionDi seguito è riportato un output della versione corrente di Podman durante questa scrittura:

Inoltre, puoi anche verificare i dettagli dell’installazione di Podman utilizzando il seguente comando.
podman infoEsecuzione 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 aliceOra, aggiungi il nuovo utente ‘alice‘ al gruppo ‘wheel‘. Questo consente al nuovo utente di eseguire ‘sudo‘ e diventare root.
sudo usermod -aG wheel aliceDopo 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 aliceSuccessivamente, accedi come il nuovo utente ‘alice‘ utilizzando il comando qui sotto.
su - alice
Esegui il comando ‘podman‘ qui sotto per eseguire un nuovo container con l’immagine ‘hello-world‘.
podman run hello-worldSe tutto va a buon fine, dovresti ottenere un output simile a questo:

Infine, esegui il seguente comando ‘podman’ per verificare l’elenco dei container in esecuzione e quelli terminati.
podman ps -aSe 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 httpdDi seguito è riportato un output che dovresti ricevere nel tuo terminale:

Puoi anche limitare l’output utilizzando l’opzione ‘–limit‘ in questo modo.
podman search httpd --limit 3Questo mostrerà solo le prime tre immagini di container da ciascun registro di immagini di container.

Infine, puoi anche utilizzare l’opzione ‘–filter‘ in questo modo.
podman search httpd --filter=is-officialQuesto 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:alpineSeleziona il registro delle immagini che desideri utilizzare. Questo esempio utilizzerà DockerHub.
Dopo che la sorgente è stata selezionata, il processo di download inizierà.

Una volta terminato, esegui il seguente comando per controllare le immagini disponibili sul tuo server AlmaLinux.
podman imagesA 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:alpineQuesto 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.

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:alpineQuesto 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:alpineSe 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 psSuccessivamente, 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 httpdQuesto è 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 httpdIn 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 httpdUna 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 -aIl 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.htmlInserisci 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:alpineInoltre, 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 psSe 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.

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

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/shUna 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 -nPotresti avere un output con un indirizzo IP e un gateway diversi, ma dovrebbe essere simile a questo:

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:alpineSe 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 lsDovresti vedere il Pod ‘httpdTest‘ con lo stato ‘Running‘ e 2 container.

Puoi ora utilizzare l’opzione ‘inspect‘ sul pod in questo modo.
podman pod inspect httpdTestDovresti ottenere informazioni dettagliate sul pod httpdTest.

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}}" httpdTestOtterrai 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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.