Appunti di lavoro - NGINX e Docker: un container è per sempre

2022/04/15

Come eliminare definitivamente il "sul mio PC funziona". Con un esempio semplice e replicabile.

Rappresentazione visiva di Container, Cloud e Dati
Immagine generata da DALL-E 3

Per anni ho lottato con ambienti che funzionavano in locale ma si rompevano in produzione: dipendenze diverse, configurazioni manuali, sorprese continue. Le virtual machine aiutano, ma sono pesanti, lente da gestire e da trasferire.

Docker ha risolto tutto: container leggeri, isolati e riproducibili. Basta un file di configurazione e ricrei l'ambiente identico ovunque.

Esempio pratico con NGINX: un web server consolidato e affidabile per proxy, siti statici o altro. Invece di installarlo a mano su ogni macchina, lo containerizzo.

Cosa ho fatto:

  • Dockerfile semplice per buildare l'immagine.
  • Configurazione NGINX custom (html, siti disponibili, domini di test).

Il repo completo è qui: gitlab.com/MiPnamic/approccio-modulare – cartella 000-nginx-e-docker. Clonala e prova.

Comandi per partire:

  • Vai nella cartella.
  • Build: docker build -t nginx-orlandin .
  • Run: docker run -dp 8000:80 nginx-orlandin
  • Apri http://localhost:8000 – NGINX customizzato pronto.

Niente più dipendenze dal sistema host. Tutto versionato con Git.

Risultato: setup in minuti, zero sorprese, facile da scalare.

Nota aggiornata (2025): Questo contenuto è del 2022, quando Docker era lo standard de facto. Oggi, per nuovi setup o migrazioni, preferisco Podman: rootless di default, compatibile con Dockerfile esistenti, e pienamente open-source senza sorprese di licenza. Se stai partendo ora o vuoi migrare, Podman elimina rischi di sicurezza e vendor lock-in. L'ho fatto per diversi clienti – funziona allo stesso modo, spesso meglio.

Se hai ambienti da containerizzare, o stai valutando la migrazione da Docker... Parliamone. Ti guido passo per passo, senza drammi.