Hosting e infrastrutture · 8 Novembre 2026

Macchine virtuali o container: quando in azienda serve Docker

Macchine virtuali e container non sono alternative: risolvono problemi diversi. Capire la differenza evita infrastrutture troppo pesanti o troppo fragili.

Di Marco Barbera · 4 min di lettura

Blocchi di vetro impilati come container, illuminati di blu su fondo nero

In breve

Una macchina virtuale simula un computer completo, con il proprio sistema operativo; un container Docker impacchetta solo un'applicazione con ciò che le serve e condivide il sistema operativo del server. Le macchine virtuali sono adatte a gestionali tradizionali, sistemi Windows e servizi da isolare completamente; i container ad applicazioni web moderne da aggiornare e replicare spesso. In molte aziende le due tecnologie convivono: i container girano dentro macchine virtuali.

"Dobbiamo passare a Docker?" Me lo chiedono spesso, di solito dopo che qualcuno in azienda ha letto che "ormai si fa tutto con i container".

La risposta onesta è: dipende da cosa deve girare. Docker non sostituisce le macchine virtuali. Risolve un problema diverso, e lo risolve molto bene.

La differenza, spiegata senza gergo

Immagini un edificio di uffici.

Una macchina virtuale è un appartamento completo: ingresso, impianti, cucina propri. È indipendente e isolato dagli altri, ma occupa spazio e richiede manutenzione come una casa vera. Ogni macchina virtuale ha il suo sistema operativo, che va aggiornato e protetto.

Un container è una postazione arredata in un open space: scrivania, computer e documenti pronti, ma impianti e servizi condivisi con l'edificio. Si allestisce in pochi secondi, si sposta facilmente, se ne aggiungono dieci in un attimo. Condivide però il sistema operativo del server che lo ospita.

Docker è lo strumento più diffuso per creare e far girare container. Ogni applicazione viene distribuita come immagine: un pacchetto che contiene il programma e tutto ciò che gli serve per funzionare, sempre uguale ovunque venga avviato.

Quando servono le macchine virtuali

  • Gestionali tradizionali che richiedono un sistema operativo specifico, spesso Windows Server.
  • Servizi da isolare completamente, per sicurezza o per obblighi contrattuali.
  • Sistemi con esigenze particolari: driver dedicati, licenze legate alla macchina, software datato che nessuno può più modificare.
  • Ambienti diversi sullo stesso server, per esempio Linux e Windows insieme.

Sono gli scenari tipici delle piattaforme di virtualizzazione come Proxmox, VMware o XCP-ng, che ho confrontato nell'articolo Proxmox, VMware, Xen e XCP-ng: le differenze che contano.

Quando conviene Docker

  • Applicazioni web moderne, composte da più servizi: sito, database, cache, code di lavoro.
  • Aggiornamenti frequenti: si sostituisce l'immagine con quella nuova e, se qualcosa non va, si torna alla precedente in pochi minuti.
  • Ambienti identici tra sviluppo, test e produzione: finisce il classico "sul mio computer funzionava".
  • Servizi da replicare quando aumenta il carico, senza riconfigurare server.

Il vantaggio economico è concreto: sullo stesso server girano molte più applicazioni, perché ogni container usa solo le risorse che gli servono davvero.

La soluzione più comune: entrambi

Nella pratica le due tecnologie lavorano insieme. Un'infrastruttura tipica che progetto per una PMI ha questa forma:

Livello

Cosa contiene

Perché

Server fisico

L'hypervisor, per esempio Proxmox

Sfrutta l'hardware e gestisce i backup

Macchine virtuali

Gestionale, sistemi Windows, servizi critici

Isolamento completo

Una macchina virtuale Linux con Docker

Siti, applicazioni web, strumenti interni

Leggerezza e aggiornamenti rapidi

Così si ottengono i vantaggi di entrambe: l'isolamento delle macchine virtuali e l'agilità dei container. E il backup dell'intera macchina virtuale protegge anche tutti i container che contiene.

Gli errori da evitare

Il primo errore è containerizzare tutto per principio. Un gestionale nato vent'anni fa non diventa moderno perché gira in un container: diventa solo più difficile da gestire.

Il secondo è dimenticare i dati. Un container si cancella e si ricrea in un attimo; i dati no. Database e file caricati dagli utenti devono stare in volumi persistenti, inclusi nei backup e provati in ripristino.

Il terzo è lasciare i container senza manutenzione. Le immagini vanno aggiornate come qualsiasi software: un container dimenticato è una porta lasciata aperta.

Domande frequenti

Docker può sostituire completamente le macchine virtuali?

Per molte applicazioni web sì. Per sistemi operativi diversi, software tradizionali o servizi che richiedono isolamento completo, le macchine virtuali restano necessarie.

I container sono meno sicuri delle macchine virtuali?

L'isolamento è minore, perché condividono il sistema operativo del server. Con immagini aggiornate, permessi ridotti e container separati per servizio, il livello di sicurezza è adeguato alla maggior parte delle applicazioni web.

Serve un server dedicato per usare Docker?

No. Docker si installa su qualsiasi server Linux, anche su una macchina virtuale già esistente. È spesso la soluzione più semplice per iniziare.

Se sta valutando come organizzare server e applicazioni, trova come lavoro nella pagina Hosting e infrastrutture. Per parlarne, mi scriva dalla pagina Contatti.

Scrivimi

Marco Barbera, digital strategist. Si occupa di strategia digitale, web marketing e intelligenza artificiale applicata al business. Chi sono