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.