Guida a Docker
Cos’è?
Docker è una piattaforma open-source che automatizza la distribuzione di applicazioni all’interno di container software. I container permettono di impacchettare un’applicazione con tutte le sue dipendenze in un’unità standardizzata e portabile, assicurando che l’applicazione funzioni in modo coerente su qualsiasi sistema. Questa tecnologia è diventata molto popolare grazie alla sua capacità di semplificare lo sviluppo, la distribuzione e l’esecuzione di applicazioni.
Come Funziona?
Docker utilizza la virtualizzazione a livello di sistema operativo per eseguire più container indipendenti sullo stesso host. Questo metodo è più leggero rispetto alla virtualizzazione tradizionale, che richiede l’esecuzione di un intero sistema operativo per ogni macchina virtuale (VM).
Componenti Principali di Docker
- Engine: Il cuore di Docker, che consiste di un demone (Daemon) per la gestione dei container, un’interfaccia a riga di comando (CLI) e un’API REST.
- Immagini: File di sola lettura che includono tutto il necessario per eseguire una parte di un’applicazione. Le immagini sono create con Dockerfile e possono essere condivise attraverso Docker Hub o registri privati.
- Container Docker: Istanza di un’immagine, con tutto il codice, le librerie e le dipendenze necessarie per eseguire un’applicazione.
- Docker Hub: Un servizio di registry dove gli utenti possono creare, condividere e gestire immagini Docker.
Installazione
Per installare Docker, segui questi passaggi generici (può variare a seconda del sistema operativo):
-
- Windows/Mac:
- Scarica il Docker Desktop.
- Segui la procedura guidata di installazione.
- Dopo l’installazione, avvia Docker Desktop.
- Windows/Mac:
- Linux (esempio per Ubuntu):
- Aggiorna l’elenco dei pacchetti: sudo apt-get update
- Installa i pacchetti richiesti: sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- Aggiungi la chiave GPG: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
- Aggiungi il repository: sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
- Installazione: sudo apt-get update && sudo apt-get install docker-ce
- Verifica l’installazione: sudo systemctl status docker
Utilizzo
Ecco alcuni comandi di base per iniziare:
Eseguire un Container:
Questo comando scarica l’immagine ubuntu dal l’Hub (se non già presente) e avvia un container interattivo con una shell Bash.
Elencare i Container:
Questo comando mostra tutti i container (in esecuzione e non).
Creare un Dockerfile:
Un Dockerfile è un file di testo che contiene una serie di istruzioni per costruire un’immagine. Esempio:
FROM python:3.8-slim
# Imposta la directory di lavoro
WORKDIR /app
# Copia i file locali nel container
COPY . /app
# Installa le dipendenze
RUN pip install -r requirements.txt
# Definisce il comando di avvio del container
CMD ["python", "app.py"]
Costruire un’Immagine:
Interrompere un Container:
Rimuovere un Container:
Vantaggi
- Portabilità: I container possono essere eseguiti su qualsiasi sistema.
- Isolamento: Ogni container opera in un ambiente isolato, evitando conflitti tra le dipendenze.
- Efficienza: I container sono leggeri e avviano rapidamente, in quanto condividono il kernel del sistema operativo host.
- Consistenza: Assicura che l’applicazione funzioni nello stesso modo in ogni ambiente, eliminando il classico problema del “funziona sul mio computer”.
Docker è uno strumento potente che semplifica la gestione del ciclo di vita delle applicazioni, rendendo lo sviluppo, la distribuzione e il deploy più efficienti e affidabili.