Cos’è Docker?
Docker è una piattaforma open-source che automatizza il processo di creazione, distribuzione ed esecuzione di applicazioni all’interno di container.
Immaginiamo di voler traslocare, invece di caricare ogni singolo oggetto sfuso sul camion (rischiando che qualcosa si rompa o non entri), mettiamo tutto dentro dei container standard. Docker fa esattamente questo con il software, impacchetta il codice, le librerie e le dipendenze in un unico oggetto leggero che funzionerà allo stesso modo su qualsiasi computer, che sia un PC locale o un server in cloud.
A differenza delle Virtual Machines (VM), Docker non simula un intero sistema operativo. Questo porta vantaggi enormi:
- Leggerezza: I container condividono il kernel del sistema operativo ospitante, occupando molta meno RAM e CPU.
- Velocità: Un container si avvia in pochi secondi, mentre una VM richiede minuti.
- Portabilità: “Funziona sulla mia macchina” non sarà più una scusa. Se il container gira sul tuo PC, girerà ovunque.
Cos’è Docker Compose?
Se Docker gestisce il singolo container, Docker Compose è il “direttore d’orchestra”. Ti permette di definire e avviare applicazioni multi-container (ad esempio: un container per il sito web + un container per il database) usando un semplice file di configurazione in formato YAML docker-compose.yml.
Come installare Docker su una macchina Linux
Per prima cosa assicuriamoci di non aver installato immagini docker non ufficiali, alcuni manutentori delle distro come Canonical “Ubuntu” forniscono distribuzioni non ufficiali dei pacchetti Docker in apt, per disinstallare tali pacchetti eseguiamo il comando:
| |
Esistono diversi metodi di installazione, in questo tutorial andiamo ad installare Docker e Docker Compose attraverso lo script ufficiale di docker (codice sorgente). Quindi dal nostro terminale eseguiamo il comando:
| |
Una volta scaricato lo script andiamo ad installarlo:
| |
Attendiamo qualche minuto, il tempo che l’installazione finisca e successivamente abilitiamo tramite systemd il servizio all’autostart digitiamo i seguenti comandi:
A questo punto aggiungiamo il nostro utente predefinito al gruppo docker per consentirgli di eseguire i comandi senza l’utilizzo dei permessi privilegiati sudo:
| |
Affinché le modifiche siano effettive dobbiamo effettuare un logout dall’utente, digitiamo:
| |
Successivamente ci logghiamo nuovamente inserendo le credenziali e, per verificare che le modifiche abbiano avuto successo lanciamo il comando:
| |
Se tutto è andato a buon fine riceveremo, a video, una risposta simile a questa:

