Cos’è Docker?
Docker è una piattaforma open-source che permette di eseguire applicazioni all’interno di ambienti isolati chiamati container.
Un container include tutto il necessario per eseguire un’applicazione: software, librerie e configurazioni, permettendo di installare, aggiornare e rimuovere servizi senza modificare direttamente il sistema operativo principale.
Questo approccio è particolarmente utile sui server dove vengono eseguiti diversi servizi contemporaneamente, mantenendo ogni applicazione isolata dalle altre.
Concetti fondamentali
Prima di iniziare è importante conoscere alcuni concetti fondamentali.
Immagine
Un’immagine Docker è un modello pronto all’uso contenente tutto il necessario per creare un container.
Ad esempio, un’immagine può contenere un server web o un database.
Container
Un container è un’istanza in esecuzione di un’immagine. La stessa immagine può generare piĂš container indipendenti.
Volume
I container sono progettati per essere temporanei, se vengono eliminati, anche i dati al loro interno vengono persi. I volumi Docker permettono di salvare dati persistenti all’esterno del container, come ad esempio:
- database;
- configurazioni;
- file degli utenti;
- dati persistenti dell’applicazione;
Network
Docker permette ai container di comunicare tra loro attraverso reti virtuali.
Questo permette, ad esempio, di creare ambienti isolati dove diversi servizi possono comunicare tra loro senza dover essere necessariamente esposti direttamente sulla rete pubblica.
Docker Compose
Quando un’applicazione è composta da piĂš servizi, gestire manualmente ogni singolo container può diventare complicato.
Docker Compose permette di definire un’intera applicazione attraverso un semplice file YAML, solitamente chiamato:
| |
All’interno del file vengono definiti:
- quali immagini utilizzare;
- quali porte aprire;
- quali volumi montare;
- quali variabili configurare;
- come collegare i vari container tra loro.
Ad esempio, un servizio web potrebbe essere composto da:
Container Web
|
|
Container Database
e Docker Compose permette di avviare l’intera applicazione con un solo comando:
| |
Installazione di Docker su Linux
Vediamo quindi come installare Docker sulle principali distribuzioni Linux.
Debian e derivate
Prima di procedere è consigliato rimuovere eventuali versioni precedenti o pacchetti Docker installati tramite i repository della distribuzione.
Esegui sul terminale:
| |
Installa i pacchetti necessari:
Crea la directory per le chiavi GPG:
| |
Scarica la chiave ufficiale Docker:
Imposta i permessi corretti:
| |
Aggiungi il repository ufficiale Docker:
Aggiorna nuovamente i repository:
| |
Installa Docker Engine e Docker Compose confermando l’installazione quando richiesto:
| |
Red Hat e derivate
Questa procedura è valida per Fedora, Red Hat Enterprise Linux (RHEL), AlmaLinux, Rocky Linux e le relative distribuzioni derivate.
Prima di procedere rimuovi eventuali vecchie installazioni:
Installa i pacchetti necessari:
| |
Aggiungi il repository ufficiale Docker.
Nota: Docker distribuisce un repository dedicato per Fedora e RHEL mentre per CentOS, AlmaLinux e Rocky Linux ecc. utilizzano il repository compatibile con CentOS.
Per Fedora:
| |
Per RHEL:
| |
Per CentOS:
| |
Installa Docker Engine e Docker Compose:
| |
Arch Linux e derivate
Su Arch Linux Docker è disponibile direttamente nei repository ufficiali della distribuzione.
Digita sul terminale:
| |
Configurazione post installazione
Abilita Docker all’avvio del sistema ed avvialo:
| |
Verifica che il servizio sia correttamente in esecuzione:
| |

Utilizzare Docker senza “sudo”
Per impostazione predefinita Docker richiede privilegi amministrativi e i comandi devono essere eseguiti tramite sudo.
Per permettere al tuo utente di eseguire i comandi Docker senza utilizzare ogni volta sudo, aggiungilo al gruppo docker:
| |
â ď¸ Attenzione: L’appartenenza al gruppo
dockerequivale, nella pratica, ad avere privilegi amministrativi sul sistema. Aggiungi solamente utenti di cui ti fidi.
Per rendere effettive le modifiche è necessario effettuare il logout dalla sessione corrente:
| |
E dopo aver effettuato nuovamente l’accesso verifica che Docker sia stato installato correttamente.
Esegui:
| |
L’output dovrebbe essere simile al seguente:

Container di prova
Esegui il classico container di test fornito da Docker:
| |
Se tutto è andato a buon fine, Docker scaricherĂ automaticamente l’immagine hello-world, creerĂ un container temporaneo e mostrerĂ un messaggio di conferma.

Da questo momento potrai installare ed eseguire qualsiasi applicazione distribuita tramite Docker e Docker Compose.
