Modulo 2 — Immagini e Dockerfile
Blocco A · Fondamenta Docker · 4 ore
Obiettivi
Scrivere un Dockerfile da zero; capire layer e cache di build; costruire e taggare
immagini; containerizzare la prima componente vera dell'app (l'API Pratiche).
Agenda
| Ora | Attività |
|---|---|
| 0:00–1:00 | Anatomia di un'immagine: layer, union filesystem, cache. Anatomia di un Dockerfile: FROM, WORKDIR, COPY, RUN, CMD, EXPOSE |
| 1:00–1:30 | Demo: build dell'API passo-passo, lettura dell'output di build, effetto della cache |
| 1:30–3:15 | Lab 2: containerizzare l'API Pratiche (Flask) |
| 3:15–4:00 | Debrief: perché l'ordine delle istruzioni conta; cosa NON mettere in un'immagine; anticipazione dei limiti della versione "ingenua" (→ Modulo 3) |
Concetti chiave
- Ogni istruzione = un layer; i layer si riusano se l'input non cambia → ordine:
prima ciò che cambia raramente (dipendenze), poi il codice.
docker build -t nome:tag .+docker image ls+docker history.- L'immagine è l'unità di rilascio: ciò che builda oggi deve buildare identico domani.
Materiali
- Lab:
lab/start/CONSEGNA.md(API fornita, Dockerfile da scrivere) →lab/final/