Capitolo 1 – Cos’è Docker
Docker è una piattaforma per creare, distribuire e eseguire container.
I container permettono di eseguire applicazioni in ambienti isolati, leggeri e portabili, senza la necessità di macchine virtuali complete.
1.1 Differenze tra Container e VM
| Caratteristica | VM | Container |
|---|---|---|
| Isolamento | Completo (OS separato) | Processo separato, stesso OS |
| Peso | Pesante (GB per VM) | Leggero (MB per container) |
| Avvio | Lento (minuti) | Veloce (secondi) |
| Portabilità | Limitata al hypervisor | Elevata, qualsiasi host Docker |
| Risorse | Dedicate | Condivise con host |
1.2 Componenti Principali di Docker
- Docker Engine
Servizio principale che esegue container e gestisce immagini. - Docker CLI
Strumento a linea di comando per interagire con Docker. - Docker Daemon
Processo in background che gestisce container e immagini. - Docker Hub / Registry
Repository pubblico o privato per salvare e distribuire immagini.
1.3 Vantaggi dell’uso di Docker
- Portabilità: stesso container su qualsiasi host con Docker.
- Isolamento: applicazioni indipendenti tra loro.
- Efficienza: occupa meno risorse di una VM completa.
- Ripetibilità: stessi container identici in sviluppo, test e produzione.
- Integrazione CI/CD: ideale per pipeline DevOps.
1.4 Caso d’uso tipico
- Uno sviluppatore crea un’applicazione web.
- Scrive un Dockerfile per definire ambiente e dipendenze.
- Costruisce un’immagine e la carica su Docker Hub.
- In produzione, il container viene eseguito senza preoccuparsi del sistema operativo host.
1.5 Conclusione
Docker permette di astrarre l’applicazione dall’infrastruttura sottostante, rendendo:
- Sviluppo più veloce
- Deploy più semplice
- Gestione di ambienti coerente e sicura
Nel prossimo capitolo entreremo nel dettaglio dell’architettura di Docker, spiegando come Engine, Daemon e registri lavorano insieme.
No comments to display
No comments to display