Docker: Dietro le Quinte
Cosa Imparerai
Nota personale
Questo è un corso a cui tengo particolarmente. Usavo già Docker da tempo quando ho scoperto i primi articoli che spiegavano le tecnologie alla base dell'isolamento in modo comprensibile e verificabile da shell. È stata un'illuminazione: finalmente capivo cosa succedeva davvero. Ho voluto tradurre quell'esperienza in un corso, e ha funzionato.
Obiettivo
Capire cosa succede veramente quando eseguiamo docker build e docker run. Non un tutorial su come usare Docker (ce ne sono già tanti), ma un percorso per smontarlo e rimontarlo — come faresti con un orologio meccanico per capirne il funzionamento.
Metodo
Hands-on con esperimenti pratici su macchina Linux. Ogni concetto viene prima "smontato" a livello di kernel, poi ricostruito per capire come Docker lo utilizza.
Argomenti
Parte 1 — Il filesystem
- Filesystem in un singolo file e mount --bind
- Overlay filesystem: l'idea dei fogli di acetato sovrapposti
- Come Docker usa i layer per efficienza e condivisione
- Analisi pratica dei layer con
docker historyedive
Parte 2 — Creare immagini
- Dockerfile: la ricetta per le immagini
- RUN, COPY e l'impatto sui layer
- CMD vs ENTRYPOINT: quando usare quale
- Pattern per build efficienti
Parte 3 — Isolamento con i Namespace
- I 7 namespace del kernel Linux (mnt, pid, net, ipc, uts, user, cgroup)
- Esperimenti pratici con
unshareensenter - fork vs clone: come nascono i processi isolati
Parte 4 — Controllo risorse e runtime
- cgroup: limitare CPU, memoria, I/O
- Volume e persistenza dei dati
- Da unshare a runc: il percorso completo
Parte 5 — Networking essenziale
- Bridge network: come i container si parlano
- Esporre porte: cosa succede davvero con
-p - Network in Compose: isolamento e comunicazione
Parte 6 — Compose e deploy locale
- Cosa fa
docker-compose upsotto il cofano - Volumi, network, dipendenze
- Reverse proxy con Traefik: routing e HTTPS automatico
Parte 7 — Registry e distribuzione
- Anatomia di un'immagine: manifest, layer, digest
- Registry privati: quando e perché
- Tagging e versionamento
Parte 8 — Deploy di immagini
- Generazione immagini nelle pipeline GitHub, Gitlab, Bitbucket
- Countinuous deployment
A Chi è Rivolto
- Chi usa già Docker ma non ha chiaro cosa succede sotto il cofano
- Chi vuole capire la differenza tra virtualizzazione e isolamento dei processi
- Chi è convinto di conoscere Docker ma non sa cosa siano i namespace del kernel, i cgroup, un filesystem a strati
- Chi non si spaventa ad usare la riga di comando
Interessato a questo corso?
Contattami per maggiori informazioni o per prenotare una sessione.
Vai ai Contatti →