HomeProgettiServiziTecnologieGuideContatti

Infrastruttura

Docker spiegato semplice: perché il software va in container.

“Sul mio computer funzionava” è la frase più temuta da chi commissiona software. Docker nasce per eliminarla: impacchetta un’applicazione con tutto ciò che le serve, così funziona allo stesso modo sul computer dello sviluppatore, su un server in ufficio o nel cloud.

Di · Sviluppatore software · · 4 min di lettura

01 / Il problema

Il problema che risolve

Un’applicazione non è solo il suo codice. Ha bisogno di una certa versione del linguaggio, di librerie, di un database, di impostazioni del sistema. Quando si installa tutto a mano su un server, basta una versione diversa per avere errori difficili da capire.

Con il tempo il server diventa un pezzo unico: nessuno sa più esattamente come è stato configurato, e spostarlo o ricrearlo dopo un guasto richiede giorni.

02 / Le basi

Cos’è un container

Pensa ai container delle navi: qualunque cosa contengano, hanno forme standard e si caricano su qualunque nave o camion. Un container software fa lo stesso: dentro c’è l’applicazione con tutto ciò che le serve, fuori ha una forma standard che qualunque server con Docker sa far girare.

  1. La ricetta

    Un file descrive passo per passo come costruire l’ambiente dell’applicazione. È scritto, versionato e leggibile.

  2. L’immagine

    Dalla ricetta si ottiene un pacchetto pronto, sempre uguale, che si può conservare e distribuire.

  3. Il container

    L’immagine in esecuzione: l’applicazione vera e propria, isolata dalle altre sullo stesso server.

  4. La composizione

    Un file (Docker Compose) descrive come si collegano più container: applicazione, database, server web.

È una macchina virtuale?

No. Una macchina virtuale simula un intero computer con il suo sistema operativo; un container condivide quello del server ed è quindi molto più leggero. Sullo stesso server possono girare decine di container.

03 / Il valore

Cosa cambia per un’azienda

Confronto tra installazione manuale e applicazione in container
AspettoInstallazione a manoCon Docker
Nuovo serverGiorni di configurazioneSi avvia la stessa composizione
AggiornamentoRischio di rompere qualcosaSi prova prima e si torna indietro se serve
Cambio fornitoreBisogna ricostruire come era configuratoLa configurazione è scritta nel progetto
Più applicazioni sullo stesso serverConflitti tra versioniOgnuna nel suo ambiente isolato

Il vantaggio più sottovalutato riguarda il cambio di fornitore: la configurazione non vive più nella testa di una persona, ma in file che restano all’azienda.

04 / La scelta

Quando serve e quando no

Docker è una scelta sensata per gestionali, portali, API e in generale per software su misura che gira su un server. Ha meno senso per:

  • un sito vetrina pubblicato su piattaforme che gestiscono già tutto, come Vercel o un hosting WordPress gestito;
  • programmi desktop installati sui singoli computer;
  • software di terze parti che il produttore supporta solo con la sua installazione.

05 / Esperienza sul campo

Un esempio reale

Il portale clienti di Toscana Stampaggi gira interamente in container: l’applicazione Django, il database PostgreSQL e il server web Caddy, ognuno nel suo ambiente e su reti separate.

Ogni nuova versione si installa con un comando che salva prima un backup, costruisce la nuova immagine e, se qualcosa non va, torna alla versione precedente. Lo stesso identico ambiente gira sul computer di sviluppo, quindi ciò che viene provato è ciò che va in produzione.

Il progetto del portale clienti

Cosa chiedere al fornitore

  • Se domani il server si guasta, quanto tempo serve per rimettere in piedi il software su uno nuovo?
  • La configurazione del server è scritta da qualche parte che resta a noi?
  • Come si installa un aggiornamento, e come si torna indietro se crea problemi?

Per capire dove far girare i container, leggi anche la guida su dove ospitare un gestionale.

Dalla guida al tuo progetto

Il tuo software è difficile da spostare?

Se aggiornare o trasferire un’applicazione su un altro server è ogni volta un’impresa, valutiamo insieme se e come portarla in container.