Docker è una piattaforma open-source che automatizza la distribuzione di applicazioni all’interno di container software. Questi container forniscono un ambiente isolato nel quale le applicazioni possono essere eseguite con tutte le loro dipendenze. Questa guida tecnica vi mostrerà come installare e configurare Docker su diverse piattaforme, fornendo una panoramica dettagliata delle sue funzionalità e dei passaggi necessari per iniziare a utilizzare Docker efficacemente.
Cos’è Docker?
Docker è una tecnologia che consente agli sviluppatori di creare, distribuire e gestire applicazioni all’interno di container. I container sono unità standard di software che confezionano il codice e tutte le sue dipendenze, in modo che l’applicazione possa essere eseguita rapidamente e in modo affidabile da un ambiente di calcolo all’altro. Docker semplifica questo processo grazie alla sua architettura leggera e portatile.
Vantaggi di Docker
- Isolamento: I container sono isolati l’uno dall’altro e dal sistema host, il che significa che problemi in un container non influenzeranno altri container o il sistema host.
- Portabilità: Docker funziona su qualsiasi sistema operativo che supporti Docker, inclusi Windows, macOS e Linux.
- Efficienza: I container condividono il kernel del sistema operativo dell’host, il che li rende più leggeri e veloci rispetto alle macchine virtuali.
- Scalabilità: Docker consente di scalare facilmente le applicazioni distribuendo container aggiuntivi.
Prerequisiti
Prima di iniziare l’installazione di Docker, assicuratevi di avere:
- Accesso root o privilegi sudo sul sistema su cui si desidera installare Docker.
- Connessione a Internet stabile per scaricare i pacchetti necessari.
Requisiti di Sistema
Sistema Operativo | Versione Minima | RAM Minima | Spazio su Disco Minimo |
---|---|---|---|
Ubuntu | 18.04 | 2 GB | 10 GB |
Debian | 10 | 2 GB | 10 GB |
CentOS | 7 | 2 GB | 10 GB |
Windows | 10 (Professional/Enterprise) | 4 GB | 10 GB |
macOS | Sierra 10.12 | 4 GB | 10 GB |
Installazione di Docker su Linux
Installazione su Ubuntu
- Aggiornamento del Sistema:
sudo apt-get update sudo apt-get upgrade
- Installazione dei pacchetti necessari:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- Aggiunta del repository Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- Installazione di Docker:
sudo apt-get update sudo apt-get install docker-ce
- Verifica dell’installazione:
sudo systemctl status docker
- Aggiunta dell’utente al gruppo Docker (opzionale):
bash sudo usermod -aG docker ${USER}
Installazione su CentOS
- Aggiornamento del Sistema:
sudo yum update
- Installazione dei pacchetti necessari:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- Aggiunta del repository Docker:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Installazione di Docker:
sudo yum install -y docker-ce
- Avvio e abilitazione di Docker:
sudo systemctl start docker sudo systemctl enable docker
- Verifica dell’installazione:
bash sudo systemctl status docker
Installazione su Debian
- Aggiornamento del Sistema:
sudo apt-get update sudo apt-get upgrade
- Installazione dei pacchetti necessari:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
- Aggiunta del repository Docker:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
- Installazione di Docker:
sudo apt-get update sudo apt-get install docker-ce
- Verifica dell’installazione:
bash sudo systemctl status docker
Installazione di Docker su Windows
Prerequisiti
- Windows 10 Professional, Enterprise o Education (con Hyper-V e Containers abilitati).
- 4GB di RAM o più.
Installazione
- Download dell’Installer:
- Scaricare Docker Desktop per Windows dal sito ufficiale di Docker: Docker Desktop.
- Esecuzione dell’Installer:
- Eseguire il file
.exe
scaricato e seguire le istruzioni dell’installazione guidata.
- Eseguire il file
- Abilitazione di Hyper-V:
- Assicurarsi che Hyper-V sia abilitato. Se non lo è, Docker Desktop vi guiderà attraverso il processo di abilitazione.
- Avvio di Docker Desktop:
- Dopo l’installazione, avviare Docker Desktop. Verrà eseguita una configurazione iniziale e, successivamente, Docker sarà pronto per l’uso.
- Verifica dell’installazione:
- Aprire un prompt dei comandi o PowerShell e digitare:
bash docker --version
- Aprire un prompt dei comandi o PowerShell e digitare:
Installazione di Docker su macOS
Prerequisiti
- macOS Sierra 10.12 o versioni successive.
- 4GB di RAM o più.
Installazione
- Download dell’Installer:
- Scaricare Docker Desktop per Mac dal sito ufficiale di Docker: Docker Desktop.
- Esecuzione dell’Installer:
- Aprire il file
.dmg
scaricato e trascinare Docker.app nella cartella Applicazioni.
- Aprire il file
- Avvio di Docker Desktop:
- Avviare Docker Desktop da Applicazioni. Verrà eseguita una configurazione iniziale e, successivamente, Docker sarà pronto per l’uso.
- Verifica dell’installazione:
- Aprire il terminale e digitare:
bash docker --version
- Aprire il terminale e digitare:
Configurazione di Docker
Configurazione del Docker Daemon
Il Docker Daemon è il servizio che esegue i comandi e gestisce i container Docker. È possibile configurare il Docker Daemon modificando il file di configurazione JSON che si trova tipicamente in /etc/docker/daemon.json
.
Esempio di Configurazione
{
"log-level": "warn",
"storage-driver": "overlay2",
"dns": ["8.8.8.8", "8.8.4.4"]
}
Gestione delle Immagini Docker
Le immagini Docker sono modelli utilizzati per creare container. È possibile scaricare, creare, e gestire immagini Docker utilizzando il comando docker
.
Comandi Utili
- Scaricare un’immagine:
bash docker pull <nome-immagine>
- Visualizzare le immagini locali:
bash docker images
- Cancellare un’immagine:
bash docker rmi <id-immagine>
Creazione e Gestione dei Container
I container sono istanze di immagini Docker. È possibile creare e gestire container utilizzando il comando docker run
.
Esempio di Creazione di un Container
docker run -d -p 80:80 --name mio-container nginx
Docker Compose
Docker Compose è uno strumento per definire e gestire applicazioni Docker multi-container. Utilizza un file YAML per configurare i servizi dell’applicazione.
Esempio di File docker-compose.yml
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: esempio
Esec
uzione di Docker Compose
Per avviare i servizi definiti nel file docker-compose.yml
, utilizzare il comando:
docker-compose up -d
Troubleshooting e Best Practices
Risoluzione dei Problemi Comuni
- Problema: Docker non si avvia:
- Soluzione: Verificare lo stato del servizio Docker con
sudo systemctl status docker
e controllare i log in/var/log/docker.log
.
- Soluzione: Verificare lo stato del servizio Docker con
- Problema: Container non riesce a connettersi alla rete:
- Soluzione: Assicurarsi che il container abbia accesso alla rete corretta e verificare le impostazioni del firewall.
Best Practices
- Sicurezza: Utilizzare sempre immagini Docker ufficiali e mantenere Docker aggiornato.
- Gestione delle Risorse: Configurare limiti di risorse per i container per evitare che consumino eccessive risorse di sistema.
- Logging: Configurare un sistema di logging centralizzato per monitorare l’attività dei container.
Conclusioni
Docker è uno strumento potente che può semplificare notevolmente il processo di sviluppo, distribuzione e gestione delle applicazioni. Questa guida ha fornito una panoramica dettagliata su come installare e configurare Docker su diverse piattaforme, insieme a consigli pratici per la gestione delle immagini e dei container. Seguendo queste istruzioni, sarete pronti a sfruttare al meglio le potenzialità di Docker per i vostri progetti.