Aggiorna il tuo sistema Ubuntu
Stiamo eseguendo Docker su una nuova istanza di Ubuntu Server, quindi forniremo tutti i comandi necessari per predisporre i prerequisiti di Docker.
Per prima cosa, aggiorna l’elenco dei pacchetti del sistema e aggiorna i pacchetti esistenti eseguendo il seguente comando:
sudo apt update && sudo apt upgrade -y
Questo processo può richiedere alcuni minuti, ma garantisce che il gestore pacchetti recuperi le versioni più recenti e gli aggiornamenti di sicurezza.
Assicurati dei prerequisiti
Docker richiede alcune dipendenze per essere installato e funzionare correttamente. Esegui questo comando per installarle:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
In breve, il comando sopra abilita il download dei pacchetti via HTTPS e installa gli strumenti necessari per recuperare le chiavi GPG di Docker (di cui parleremo più avanti).
E questo è tutto: il tuo sistema è ora pronto per installare Docker!
Installare Docker su Ubuntu
Una volta gestiti i prerequisiti di sistema, installare Docker su Ubuntu è un processo in quattro passaggi.
Passaggio 1: aggiungi la chiave GPG ufficiale di Docker
La chiave GPG (GNU Privacy Guard) di Docker viene utilizzata per firmare pacchetti e repository di Docker, garantendo l’integrità e l’autenticità di immagini e pacchetti.
Inizia eseguendo il comando shell appropriato per scaricare la chiave e memorizzarne una versione convertita compatibile con APT in /usr/share/keyrings.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Passaggio 2: aggiungi il repository APT ufficiale di Docker
Ora, aggiungi il repository ufficiale di Docker al tuo sistema.
Il prossimo comando utilizza la chiave GPG salvata in precedenza per verificare l’autenticità del repository e poi lo aggiunge alle sorgenti dei pacchetti di sistema:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Dopodiché, aggiorna l’elenco dei pacchetti del sistema per includere il nuovo repository:
sudo apt update
Passaggio 3: installa Docker
Ora che il repository è configurato, sei pronto per installare Docker su Ubuntu.
Il comando di installazione installerà il motore Docker principale, la sua interfaccia a riga di comando e il runtime per gestire l’esecuzione dei container:
sudo apt install -y docker-ce docker-ce-cli containerd.io
Una volta completata l’installazione, dovresti vedere un output che conferma il successo dell’operazione:

Immagine 2 - Risultati dell’installazione di Docker
Passaggio 4: verifica l’installazione di Docker
Docker dovrebbe ora essere installato sul tuo sistema.
Per verificarlo, stampa la versione di Docker sulla console. Se l’installazione è andata a buon fine, dovresti vedere visualizzato un numero di versione:
docker --version

Immagine 3 - Versione di Docker installata
A fine gennaio 2025, la versione 27.5.1 di Docker è l’ultima disponibile, e la stiamo eseguendo con successo su Ubuntu Server.
Passi successivi dopo l’installazione
Ora hai installato Docker e sei pronto per iniziare a containerizzare le tue applicazioni.
Ma cos’è la containerizzazione? Il nostro corso sui concetti di Containerization and Virtualization ti insegnerà le basi.
Prima di farlo, ti consigliamo tre passaggi di configurazione aggiuntivi per ottenere il massimo. Questa sezione fa per te se vuoi eseguire Docker all’avvio del sistema o gestire immagini e container come utente non root.
Passaggio 1: avvia ed abilita il servizio Docker
Il servizio Docker è attualmente in esecuzione sul tuo sistema, ma non si avvierà automaticamente dopo un riavvio.
Per fare in modo che Docker si avvii automaticamente al boot, usa systemctl per abilitare il servizio:
sudo systemctl enable docker
Dovresti vedere un output simile al nostro:

Immagine 4 - Abilitare il servizio Docker all’avvio
In futuro, se dovessi mai vedere un messaggio che indica che Docker non è in esecuzione (cosa che non dovrebbe succedere), puoi avviare Docker manualmente con il seguente comando:
sudo systemctl start docker
Docker ora rimarrà attivo finché il sistema è acceso.
Passaggio 2: controlla lo stato di Docker
Ci sono alcuni comandi aggiuntivi di systemctl che puoi usare per gestire il servizio Docker.
Ad esempio, il comando status mostra lo stato di un servizio, che più comunemente è active, inactive o failed. Anche se esistono altri stati possibili, questi tre sono i più frequenti:
sudo systemctl status docker

Immagine 5 - Stato del servizio Docker
Se il tuo servizio Docker è attivo, tutto funziona correttamente.
Se vedi uno stato diverso per Docker o per qualsiasi altro servizio, il riavvio dovrebbe risolvere il problema:
sudo systemctl restart docker
Una volta riavviato, puoi ricontrollare lo stato per confermare che il servizio sia attivo.
Passaggio 3: gestisci Docker come utente non root
Per impostazione predefinita, l’esecuzione dei comandi Docker richiede sudo, il che può essere scomodo. Significa che devi digitare sudo prima di qualsiasi comando docker.
Per fortuna, c’è un modo semplice per consentire agli utenti non root di eseguire comandi Docker: aggiungere l’utente corrente al gruppo docker:
sudo usermod -aG docker $USER
Dopo aver eseguito il comando sopra, esci e rientra per applicare la modifica. Dovresti ora poter eseguire comandi Docker senza privilegi di superutente.
Lo verificheremo nella prossima sezione.
Testare l’installazione di Docker
Docker è ora installato e configurato. Si avvia anche automaticamente al boot e consente al tuo utente di eseguire comandi direttamente.
In questa sezione, concluderemo eseguendo due container: uno per un semplice esempio "Hello, World!" e un altro per uno script Python.
Passaggio 1: esegui un container di test Docker
Docker fornisce un’immagine di test chiamata hello-world, utilizzata esclusivamente per confermare che Docker funzioni correttamente.
Esegui il seguente comando per avviare l’immagine:
docker run hello-world
Poiché l’immagine non è presente in locale, Docker la scaricherà automaticamente dal web. Dopo qualche istante, dovresti vedere un output simile a questo:

Immagine 6 - Esempio hello world di Docker
In sintesi, questo conferma che Docker è installato correttamente, il demone Docker è in esecuzione e il tuo sistema può effettuare il pull delle immagini da Docker Hub.
Passaggio 2: esegui il tuo primo container “reale”
Se vuoi creare immagini da zero, questa sezione fa per te.
Costruiremo una semplice immagine con Python 3.9 che, quando avviata, esegue uno script Python personalizzato.
Inizia creando una cartella dedicata e un file app.py che verrà eseguito:
mkdir python-docker-test && cd python-docker-test
nano app.py
Il file contiene solo un semplice comando print(), ma ovviamente puoi ampliarlo con logiche più complesse:
print("Hello from Docker running on Ubuntu!")
Nella stessa cartella, crea un Dockerfile, che indica a Docker come costruire l’immagine passo dopo passo:
nano Dockerfile
Queste tre righe sono tutto ciò che ti serve:
FROM python:3.9-slim
COPY app.py /app.py
CMD ["python", "/app.py"]
In sostanza, Docker viene istruito a recuperare l’immagine python:3.9-slim da Docker Hub, copiare lo script app.py nel container e poi eseguire lo script.
A questo punto dovresti avere i seguenti file nella tua directory di lavoro:

Immagine 7 - Contenuti dell’applicazione Python di esempio
Per costruire l’immagine, esegui il seguente comando:
docker build -t python-hello .
Il comando sopra crea una nuova immagine nella directory corrente (.) e le assegna il tag python-hello.

Immagine 8 - Creazione di un’immagine Docker
Per eseguire l’immagine, usa il comando docker run seguito dal tag dell’immagine. Il flag opzionale --rm fa sì che il container venga rimosso al termine, che avviene subito dopo la fine dell’esecuzione dello script Python:
docker run --rm python-hello

Immagine 9 - Esecuzione di uno script Python in Docker
E proprio così, hai containerizzato con successo la tua prima applicazione Python con Docker su Ubuntu!
Se cerchi un’applicazione di Docker al machine learning, la guida di DataCamp Containerization: Docker and Kubernetes for Machine Learning è una lettura consigliata.
Aggiornare e disinstallare Docker su Ubuntu
Eseguire Docker nel tuo ambiente ti dà pieno controllo, ma ti rende anche responsabile di restare al passo con gli ultimi aggiornamenti, le nuove funzionalità e le patch di sicurezza.
Questa sezione spiega come svolgere attività di base come aggiornare Docker e rimuoverlo completamente dal sistema.
Aggiornare Docker
Aggiornare Docker si riduce a due passaggi principali:
- Aggiornare l’elenco dei pacchetti per recuperare l’ultima versione di Docker.
- Aggiornare Docker (core, CLI e runtime di gestione dei container) alla versione più recente.
Esegui i seguenti comandi nel terminale per aggiornare Docker su Ubuntu:
sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io
docker --version
Il comando docker -- version mostra la versione attualmente installata. È il modo più semplice per verificare se l’aggiornamento è andato a buon fine.
Disinstallare Docker
Se devi rimuovere Docker dal sistema, inizia disinstallando Docker e i pacchetti correlati e rimuovendo eventuali file e configurazioni rimasti.
Inoltre, puoi facoltativamente rimuovere il repository Docker dalle sorgenti APT.
I quattro comandi seguenti disinstalleranno Docker dal tuo sistema Ubuntu, ma tieni presente che solo i primi tre sono necessari:
sudo apt remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# Optional
sudo rm /etc/apt/sources.list.d/docker.list
Dopo aver eseguito questi comandi, l’esecuzione di docker --version dovrebbe restituire un errore che indica che Docker non è più installato.
Best practice per Docker su Ubuntu
Gestire Docker richiede manutenzione continua, poiché spetta a te rimuovere le risorse inutilizzate e monitorare le prestazioni.
In questa sezione, tratteremo due attività essenziali di “pulizia” da eseguire regolarmente mentre usi Docker su Ubuntu.
Pulisci regolarmente le risorse Docker
Col tempo, immagini, container, network e volumi Docker inutilizzati possono accumularsi, consumando una quantità significativa di spazio su disco.
La pulizia di queste risorse è nota come pruning, anche se una spiegazione dettagliata esula dallo scopo di questo articolo.
Ricorda solo questo comando — rimuoverà in una volta sola tutti i container, le immagini, i volumi e le reti non utilizzati:
docker system prune -a -f

Immagine 10 - Pulizia delle risorse
Noi abbiamo recuperato solo 10 kB, ma in un ambiente più “serio” questo comando può spesso liberare decine di gigabyte di spazio su disco.
Metti in sicurezza la tua installazione di Docker
Abbiamo già coperto due argomenti importanti per la sicurezza — mantenere Docker aggiornato e gestire i permessi di superutente.
Oltre a questi, ecco alcuni altri passaggi per migliorare la sicurezza di Docker su Ubuntu:
- Limita i privilegi dei container: evita per quanto possibile di eseguire container con il flag
--privileged, poiché disattiva molti controlli di sicurezza che isolano i container dal sistema host. - Usa solo immagini ufficiali e affidabili: non scaricare immagini da registry di terze parti non verificati. Attieniti a fonti affidabili come Docker Hub e registry privati.
- Abilita Docker Content Trust (DCT): impostare questa variabile d’ambiente garantisce l’uso solo di immagini firmate e verificate.
Monitora le prestazioni di Docker
La CLI di Docker include potenti strumenti per aiutarti a monitorare le prestazioni dei container e individuare potenziali problemi.
Prima di usarli, modifichiamo il file app.py per mantenerlo in esecuzione dopo l’avvio del container:
import time
time.sleep(10000)
print("Hello from Docker running on Ubuntu!")
Il motivo è semplice — ci serve un container in esecuzione per monitorarne le prestazioni.
Partiamo dal comando ps. In breve, elenca tutti i container attualmente in esecuzione:
docker ps

Immagine 11 - Container Docker in esecuzione
Sebbene l’output non dica molto, il campo CONTAINER ID è fondamentale per ulteriori ispezioni.
Ora, esploriamo il comando stats, che mostra l’utilizzo delle risorse in tempo reale, inclusi CPU, memoria e consumo di rete per tutti i container in esecuzione:
docker stats

Immagine 12 - Statistiche del container
Se ti serve una ripartizione dettagliata dell’uso delle risorse e della configurazione di un container, usa il comando inspect.
Devi solo fornire l’ID del container:
docker inspect <container_id>

Immagine 13 - Dettagli del container
Se stai riscontrando problemi con un container Docker, il comando logs può aiutarti a diagnosticare il problema e potenzialmente individuarne la causa.
Richiede anche l’ID del container:
docker logs <container_id>

Immagine 14 - Log del container
A volte, potresti dover accedere direttamente a un container in esecuzione. Se conosci l’ID del container, è semplice:
docker exec -it <container_id> bash

Immagine 15 - Log del container
Il comando precedente apre una shell all’interno del container Docker specificato, consentendoti di accedere o modificare direttamente i file.
Riepilogo su Docker in Ubuntu
Oggi hai imparato a installare, configurare e gestire Docker su Ubuntu.
Se hai seguito ogni passaggio, avrai Docker in esecuzione sul tuo sistema, con avvio automatico al boot e senza richiedere permessi di superutente per gestire i container. Hai anche imparato a verificare l’installazione di Docker, eseguire container di test e persino creare la tua prima applicazione Python containerizzata personalizzata.
È tanto, ma è solo l’inizio. C’è molto altro da approfondire nel mondo della containerizzazione, e ti consigliamo vivamente di consultare le nostre risorse ufficiali per diventare esperto in Docker:
FAQ
A cosa serve Docker?
Docker viene utilizzato per automatizzare il deployment delle applicazioni in container leggeri, che impacchettano un’app e le sue dipendenze in un ambiente isolato, riproducibile e indipendente dall’host.
Ubuntu è adatto a Docker?
Ubuntu è un’ottima scelta per eseguire Docker, sia nella variante Desktop che Server. È una distribuzione Linux popolare e stabile, amata dagli sviluppatori. Detto ciò, puoi eseguire Docker anche su altre distribuzioni Linux.
Perché dovrei usare Docker?
Docker offre i vantaggi di un ambiente coerente per sviluppo/test/produzione, un deployment più rapido e uno scaling più semplice, rendendo al contempo l’applicazione facile da spostare tra ambienti e sistemi diversi.
Qual è la differenza tra Docker e macchine virtuali?
I container Docker condividono il kernel e le risorse del sistema host, rendendoli più leggeri e veloci delle macchine virtuali. Le VM eseguono sistemi operativi separati e richiedono più risorse.
Come faccio a sapere se Docker funziona correttamente?
Puoi iniziare verificando se Docker è installato eseguendo il comando docker –version. Inoltre, l’esecuzione di un semplice container di test come hello-world verificherà che Docker sia funzionante.



Se vuoi smettere di dire "sul mio computer funziona", la containerizzazione è la strada giusta.
In poche parole, la containerizzazione ti consente di impacchettare le applicazioni in ambienti leggeri e isolati chiamati container. Questi includono tutto il necessario per eseguire l’applicazione, come codice e dipendenze, ma nulla di superfluo. Un’app containerizzata gira in modo coerente su ambienti diversi, che sia il tuo laptop, un server di test o la produzione.
Docker resta la piattaforma di riferimento per containerizzare applicazioni nel 2025. Può girare su qualsiasi sistema operativo, ma come per la maggior parte degli strumenti di sviluppo, i sistemi basati su UNIX sono preferiti.
In questo articolo imparerai a installare Docker su Ubuntu, ad avviare il tuo primo container e a gestire e monitorare i container in esecuzione.
La configurazione è semplice, ma richiede alcuni passaggi. Andiamo al sodo!
Docker è la stessa cosa di Kubernetes? Ecco tutte le differenze che ogni sviluppatore dovrebbe conoscere.
Preparare il tuo sistema Ubuntu
Prima di installare Docker su Ubuntu, ci sono alcune operazioni preliminari da svolgere. Te ne occupi tutte in questa sezione.
Per iniziare, assicurati di utilizzare un sistema Ubuntu, versione Desktop o Server. Noi stiamo usando Ubuntu Server 24.04:
Immagine 1 - Dettagli del sistema operativo
Se vedi un output simile a quello mostrato nell’immagine sopra, sei a posto.
Verifica i requisiti di sistema
Prima di installare Docker, assicurati che il tuo sistema abbia risorse sufficienti per eseguirlo.
Sebbene Docker non specifichi requisiti minimi sul suo sito (a parte le architetture CPU compatibili), abbiamo riscontrato che quanto segue è sufficiente per eseguire Docker in sé:
Una macchina con queste specifiche ti consentirà di eseguire Docker, ma non molto altro. Non aspettarti di far girare container complessi o applicazioni multi-container.
Se hai in programma di fare di più, punta ad almeno 2 GB di RAM, 25 GB di spazio e una CPU moderna.