Podman · 7 min read · Feb 11, 2026

Iniziare con Podman: Gestire Immagini, Contenitori e Volumi

Podman è un runtime di contenitori che fornisce funzionalità simili a Docker. Fa parte della libreria libpod e può essere utilizzato per gestire pod, contenitori, immagini di contenitori e volumi di contenitori. Podman è molto diverso da Docker, che utilizza l’architettura client-server e richiede un demone Docker per funzionare, mentre Podman non richiede alcun demone per funzionare e può essere eseguito senza problemi anche senza privilegi di root.

In questo tutorial, ti mostreremo l’uso di base di Podman per gestire contenitori, immagini e volumi, e per creare immagini di contenitori. Per completare questa guida, devi avere Podman installato. Ecco delle guide per diversi sistemi operativi:

  • Come installare Podman su Ubuntu 22.04
  • Iniziare con Podman (Alternativa a Docker) su Rocky Linux
  • Come installare e utilizzare Podman (Alternativa a Docker) su Ubuntu 20.04
  • Come installare Podman come alternativa a Docker su Debian 11

Prerequisiti

  • Server Ubuntu con Podman installato
  • Una conoscenza di base di Docker renderà tutto più facile

1. Comando di base di Podman

Dopo aver installato Podman sul sistema Ubuntu, dobbiamo sapere come controllare Podman stesso. Dobbiamo controllare la versione già installata sul sistema, l’ambiente di sistema di Podman e l’uso dell’aiuto di base.

Per ottenere la versione installata di Podman sulla macchina, usa il seguente comando.

podman version

Qualsiasi versione di Podman > 1.0.1 andrà bene per questa guida.

Ora controlla la configurazione dell’ambiente di Podman.

podman info

E ti verrà mostrato l’ambiente di sistema dell’installazione di Podman. Inclusi i pacchetti Host, Registries e Storage.

Ambiente Podman

Successivamente, esegui il seguente comando per mostrare tutte le opzioni di comando disponibili di Podman.

podman --help

Per visualizzare l’aiuto per un comando specifico, puoi usare come di seguito.

podman pod help

Aiuto Podman

2. Gestire le immagini dei contenitori utilizzando Podman

Ora ci spostiamo nella gestione delle immagini dei contenitori con Podman. Ci sono alcuni comandi di base che devi conoscere relativi alla gestione delle immagini dei contenitori, inclusa la ricerca di immagini, il download di immagini, la visualizzazione delle immagini disponibili sul sistema locale e la rimozione delle immagini.

Esegui il comando qui sotto per cercare un’immagine.

podman search nginx

Il comando cercherà immagini che contengono la parola ‘nginx’ in tutti i repository disponibili già definiti nel file di configurazione ‘/etc/containers/repositories.conf’.

Cerca immagine Podman

Ora scarica alcune immagini utilizzando i comandi ‘podman pull’ qui sotto.

podman pull docker.io/library/nginx  
podman pull docker.io/library/alpine

Una volta completato, controlla tutte le immagini disponibili sulla macchina server.

podman images

Ora avrai le immagini nginx e alpine sul sistema.

ottieni immagini con il comando podman pull

Per rimuovere l’immagine alpine, puoi usare l’opzione ‘rmi’ come di seguito.

podman rmi alpine

rimuovi immagine podman

Di conseguenza, avrai solo l’immagine del contenitore nginx sul sistema.

3. Gestire i contenitori

A questo punto, abbiamo appreso la gestione delle immagini dei contenitori. E il passo successivo, impareremo come creare e gestire contenitori con Podman.

Per creare un nuovo contenitore, possiamo usare il comando ‘podman run’ come di seguito.

podman run -d -p 8000:80 --name hakase-nginx docker.io/library/nginx

Il comando creerà un nuovo contenitore chiamato ‘hakase-nginx’ basato sull’immagine nginx e esporrà la porta 8000 sulla macchina host.

Dettagli delle opzioni del comando:

-d - mantiene il contenitore in esecuzione in background e stampa solo l’ID del contenitore come risultato.
-p 8000:80 - mappatura delle porte per il contenitore e il sistema host. Porta 8000 sulla macchina host e porta 80 sul contenitore.
–name hakase-nginx - specifica il nome del contenitore come ‘hakase-nginx’.

Ora visualizza tutti i contenitori in esecuzione sul sistema.

podman ps

E ti verrà mostrato che il contenitore chiamato ‘hakase-nginx’ è attivo e funzionante.

Se vuoi controllare tutti i contenitori disponibili, puoi usare l’opzione ‘-a’.

podman ps -a

Ora otterrai tutti i contenitori disponibili con stati diversi.

Dopo aver ottenuto tutti i contenitori in esecuzione sulla macchina host, ti mostreremo come controllare tutti i processi all’interno del contenitore, collegarti al contenitore in esecuzione e fermare e rimuovere il contenitore.

Per controllare il processo all’interno del contenitore in esecuzione, usa il seguente comando.

podman top hakase-nginx

Ora per collegarti e accedere al contenitore in esecuzione, puoi usare il comando ‘exec’ come di seguito.

podman exec -it hakase-nginx /bin/bash

All’interno del contenitore ‘hakase-nginx’, controlla la versione di nginx.

nginx -V

Otterrai il risultato come di seguito.

Gestisci contenitori Podman

Ora digita ‘exit’ per disconnetterti dal contenitore.

Successivamente, ferma il contenitore ‘hakase-nginx’.

podman stop hakase-nginx

Quindi rimuovi il contenitore.

podman rm hakase-nginx

Avvio e arresto Podman

Se vuoi forzare l’arresto e la rimozione del contenitore in esecuzione, puoi usare l’opzione ‘-f’ per forzare.

podman rm hakase-nginx -f

4. Gestire i volumi

Dalla versione 0.12, Podman ha il supporto per la creazione e la gestione di volumi solo locali. Quindi, se stai utilizzando una versione precedente, non otterrai questo comando ‘podman volume’.

Ora crea un nuovo volume locale utilizzando il seguente comando.

podman volume create hakase-volume

Dopo di che, visualizza tutti i volumi disponibili sul sistema.

podman volume ls

E otterrai ‘hakase-volume’ nell’elenco.

Per controllare i dettagli sul volume ‘hakase-volume’, possiamo usare l’opzione ‘inspect’ come di seguito.

podman volume inspect hakase-volume

E vedrai che il ‘mountPoint’ del volume è la directory locale ‘/var/lib/containers/storage/hakase-volume/_data’.

Gestisci volumi Podman

Vai in quella directory e crea un nuovo file index.html.

cd /var/lib/containers/storage/hakase-volume/_data  
echo "

Questo è un indice personalizzato e un volume - Ciao Podman

" > index.html

Ora crea un nuovo contenitore e monta il ‘hakase-volume’ nel contenitore.

podman run -d -p 8000:80 -v hakase-volume:/usr/share/nginx/html --name hakase-nginx docker.io/library/nginx

Una volta creato il contenitore, controlla i volumi disponibili nel contenitore utilizzando il seguente comando.

podman inspect -f '{{ json .Mounts }}' hakase-nginx | jq

In fondo al risultato, otterrai ‘hakase-volume’ nel contenitore.

Montaggi di volume

Successivamente, controlla l’indirizzo IP del contenitore.

podman inspect -f '{{ .NetworkSettings.IPAddress }}' hakase-nginx

Accedi al contenitore sulla porta HTTP utilizzando httpie.

http http://10.88.0.4/

E otterrai il file index.html personalizzato che è stato creato nel ‘hakase-volume’.

accesso al volume del contenitore

Ora, se vuoi rimuovere il volume, puoi usare l’opzione ‘rm’.

podman volume rm hakase-volume

E il ‘hakase-volume’ verrà rimosso.

5. Creare immagini personalizzate con Commit

Ora stiamo per creare immagini di contenitori personalizzate utilizzando Podman. Fondamentalmente, Podman ti consente di creare immagini personalizzate basate sul contenitore modificato o di creare nuove immagini personalizzate utilizzando il ‘Dockerfile’.

In questa sezione, stiamo per creare nuove immagini personalizzate basate sul contenitore modificato tramite il comando ‘podman commit’.

Scarica/estrai l’immagine master ‘ubuntu’.

podman pull docker.io/library/ubuntu

Ora esegui il contenitore basato sull’immagine ubuntu. E all’interno del contenitore, esegui il comando ‘bash’ che aggiornerà i repository e installerà il pacchetto nginx.

podman run --name container-temp ubuntu bash -c "apt update && apt install -y nginx"

Aspetta il completamento dell’installazione di nginx all’interno del contenitore.

Usa commit per creare immagini personalizzate

Una volta completato, crea una nuova immagine personalizzata basata su ‘container-temp’ utilizzando il seguente comando.

podman commit container-temp my-nginx

Successivamente, controlla le immagini disponibili sul sistema.

podman images

E otterrai una nuova immagine chiamata ‘my-nginx’ nell’elenco.

Immagine personalizzata creata

Se vuoi eseguire il contenitore basato sull’immagine ‘my-nginx’, esegui il seguente comando.

podman run -dt -p 8001:80 --name nginx01 my-nginx /usr/sbin/nginx -g 'daemon off;'

Ora controlla il contenitore in esecuzione e controlla il suo indirizzo IP.

podman ps  
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx01

E ti verrà mostrato che il contenitore ‘nginx01’ è attivo e funzionante. Dopo di che, accedi alla porta HTTP sul contenitore ‘nginx01’.

http -p h 10.88.0.19

Di conseguenza, otterrai la risposta dell’intestazione HTTP come di seguito.

test nginx

6. Creare immagini personalizzate con Dockerfile

Ora stiamo per creare una nuova immagine di contenitore personalizzata utilizzando il Dockerfile.

Crea una nuova directory di progetto e crea un nuovo ‘Dockerfile’ all’interno.

mkdir project; cd project/  
vim Dockerfile

Incolla la seguente configurazione.

FROM ubuntu  
  
# Installa Nginx  
RUN \  
  apt-get update && \  
  apt-get install -y nginx && \  
  rm -rf /var/lib/apt/lists/* && \  
  echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \  
chown -R www-data:www-data /var/lib/nginx  
  
# Definisci le directory montabili.  
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]  
  
# Definisci la directory di lavoro.  
WORKDIR /etc/nginx  
  
# Definisci il comando predefinito.  
CMD ["nginx"]  
  
# Esporre porte.  
EXPOSE 80  
EXPOSE 443

Salva e chiudi.

Ora esegui il podman qui sotto per costruire una nuova immagine personalizzata utilizzando il Dockerfile.

podman build -t hakase-image .

Usa Dockerfile per creare immagini

Una volta completato, controlla la nuova immagine sulla macchina.

podman images

E otterrai ‘hakase-image’.

Elenco delle immagini podman

Successivamente, crea un nuovo contenitore basato sull’immagine ‘hakase-image’ eseguendo il seguente comando.

podman run -d -p 8002:80 --name nginx02 hakase-image

Dopo di che, controlla il contenitore ‘nginx02’ e il suo indirizzo IP.

podman ps  
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx02

Assicurati che il contenitore ‘nginx02’ sia attivo e funzionante.

Ora controlla il contenitore utilizzando lo strumento httpie.

http 10.88.0.21

E ti verrà mostrata la pagina predefinita di Nginx e la sua intestazione HTTP.

test immagine di accesso

Infine, ora puoi gestire contenitori, immagini e volumi utilizzando Podman. E puoi creare nuove immagini personalizzate per la tua applicazione utilizzando il Dockerfile.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.