Blocco A · Fondamenta Docker — Modulo 5 di 16

Docker Compose

lo stack completo in un file

Obiettivi di oggi

Da 5 comandi a 1 file

services:
  web:                      # Nginx: statici + proxy /api/
    build: ./web
    ports: ["8080:80"]
    depends_on: [api]
  api:                      # Flask: NESSUNA porta pubblicata
    build: ./api
    environment:
      DATABASE_URL: postgresql://...@db:5432/pratiche
    depends_on: [db]
  db:
    image: postgres:16
    volumes: [dbdata:/var/lib/postgresql/data]
volumes:
  dbdata:

Perché è una svolta

Il pattern reverse proxy

location /api/ { proxy_pass http://api:5000; }

Laboratorio (2h)

  1. Scrivi nginx.conf, Dockerfile del web, compose.yaml
  2. up -d --build → il Portale mostra le pratiche VERE e il form salva
  3. Ciclo di vita: ps, logs -f, down/up — i dati restano

Riepilogo e prossimo passo