Come installare Docker Desktop senza virtualizzazione hardware

Ultimo aggiornamento: 08/01/2026
Autore: Isaac
  • Docker Desktop su Windows si basa sulla virtualizzazione (Hyper-V o WSL2) per fornire un kernel Linux ed eseguire contenitori.
  • WSL2 consente di installare Docker Engine direttamente all'interno di una distribuzione Linux, evitando Docker Desktop quando non è necessaria un'interfaccia grafica.
  • In Windows Pro/Enterprise, Hyper-V può essere utilizzato come backend alternativo per Docker Desktop e altre macchine virtuali.
  • Senza supporto di virtualizzazione hardware Le possibilità di utilizzo di Docker Desktop si riducono a soluzioni remote o altre apparecchiature.

Guida al desktop Docker senza virtualizzazione hardware

Installare e utilizzare Docker Desktop su Windows quando non si dispone di virtualizzazione hardware attiva (o quando la CPU o il BIOS non la supportano ) potrebbe sembrare un'impresa impossibile, soprattutto se avete visto decine di tutorial che presuppongono la presenza di Hyper-V o WSL2 funzionanti. Ma ci sono altre sfumature: container Windows, container Linux, WSL2, Hyper-V, macchine virtuali classiche... e ogni combinazione ha le sue limitazioni.

In questa guida, analizzeremo con calma ma in modo diretto cosa si può e cosa non si può fare con Docker Desktop senza virtualizzazione hardware , quali sono le alternative concrete per eseguire container su Windows, come sfruttare WSL2 e il Docker Engine "puro" per evitare Docker Desktop quando necessario e quali accorgimenti si possono adottare per sviluppare con i container comodamente utilizzando VS Code, anche su macchine di fascia bassa.

Contenitori, Docker Desktop e Docker Engine: concetti chiave

Prima di parlare dei requisiti per la virtualizzazione, è fondamentale comprendere alcuni concetti di base , poiché determinano cosa è possibile fare sulla propria macchina:

Un container non è esattamente una macchina virtuale : condivide il kernel con il sistema host e isola processi, librerie e file system. Ecco perché i container Linux utilizzano il kernel Linux dell'host e i container Windows utilizzano il kernel Windows dell'host, a meno che non si aggiunga un livello di virtualizzazione.

Docker Engine è il "vero" motore Docker, il servizio che crea, gestisce ed esegue i container. Funziona nativamente su Linux, è gestito da riga di comando ed è completamente gratuito, senza limiti di utilizzo, progettato sia per ambienti di sviluppo che di produzione.

Docker Desktop è un'applicazione desktop che include Docker Engine, un'interfaccia grafica, l'integrazione con Kubernetes, strumenti di sviluppo, un pannello delle risorse, una configurazione semplificata e altro ancora. Su Windows e macOS, si basa sempre su una qualche forma di virtualizzazione per fornire un ambiente Linux in cui eseguire i container.

La principale differenza tra Linux e Windows è che, in Linux, Docker Engine può essere eseguito direttamente sul kernel senza una macchina virtuale, mentre in Windows e macOS Docker Desktop utilizza una macchina virtuale Linux nascosta, basata su WSL2 o Hyper-V, il che implica la necessità di virtualizzazione a livello hardware.

Infine, i container Windows possono essere eseguiti in due modalità: isolamento dei processi (condividendo il kernel Windows dell'host) o isolamento simile a Hyper-V (ogni container viene eseguito all'interno di una mini-VM). In pratica, nella maggior parte degli scenari moderni con Docker Desktop su Windows, la virtualizzazione viene utilizzata in una forma o nell'altra.

I contenitori Windows possono essere eseguiti senza Hyper-V?

Contenitori Windows e requisiti di virtualizzazione

La domanda tipica è se sia possibile eseguire container Windows "puri" senza Hyper-V , utilizzando solo il kernel Windows dell'host in modalità di isolamento dei processi, evitando così la virtualizzazione hardware. In teoria, l'isolamento dei processi permette proprio questo: utilizzare lo stesso kernel senza un hypervisor.

Il problema pratico è che la maggior parte degli scenari supportati da Docker Desktop e dalle versioni moderne di Windows sono progettati per funzionare con Hyper-V e/o WSL2 abilitati. Anche quando si utilizzano container Windows, Docker Desktop si basa fortemente sull'infrastruttura di virtualizzazione di Microsoft.

Tentare di eseguire container Windows senza virtualizzazione porta a un vicolo cieco con molte limitazioni: si dipende da versioni molto specifiche di Windows Server o Windows 10/11, è necessario abilitare determinate funzionalità e, anche in tal caso, l'esperienza è fragile, complessa da configurare e ben lontana da ciò che offre Docker Desktop standard.

Inoltre, progetti come l'esecuzione di Docker per Windows su Wine in Linux si scontrano con una realtà piuttosto dura: Docker Desktop e il motore Docker in Windows si aspettano di poter comunicare con i livelli di virtualizzazione e con API di sistema molto specifiche. Wine non implementa in modo affidabile tutto ciò, quindi questa idea è più un esperimento teorico che una soluzione utilizzabile.

In conclusione, se il vostro obiettivo è eseguire container Windows su un host Windows moderno , prima o poi avrete bisogno della virtualizzazione (Hyper-V o WSL2) per un'esperienza funzionale e supportata. Senza di essa, le soluzioni alternative si riducono a limiti molto stringenti.

Opzioni se hai bisogno di Docker su Windows senza affidarti a Docker Desktop

Alternative a Docker Desktop su Windows

Se, per qualsiasi motivo, desideri o hai bisogno di evitare Docker Desktop su un host Windows , hai a disposizione diverse valide alternative a seconda dell'hardware e della versione di Windows che stai utilizzando.

L'opzione più tradizionale consiste nel creare una macchina virtuale Linux utilizzando strumenti come VMware Workstation, Oracle VirtualBox o Hyper-V di Microsoft, installarvi una distribuzione Linux e quindi configurare Docker Engine al suo interno. Tuttavia, tutte queste soluzioni richiedono comunque che la virtualizzazione hardware sia abilitata nel BIOS.

  10 programmi di ripping di DVD: strumenti gratuiti e a pagamento

VMware e VirtualBox funzionano bene, ma appartengono ad aziende con pratiche commerciali discutibili e un certo sforamento dei costi. Ciononostante, sono soluzioni molto mature, con interfacce di gestione intuitive e una vasta documentazione e numerosi tutorial disponibili online.

Hyper-V è integrato in Windows (edizioni Pro e superiori), è gratuito e molto robusto. Permette di creare macchine virtuali leggere su cui è possibile installare Linux e, al suo interno, Docker Engine. È un'opzione molto interessante se si possiede già Windows Pro o Enterprise e si desidera un ambiente pressoché "ufficiale" senza installare software di terze parti.

Oggi, per la maggior parte degli utenti domestici e degli sviluppatori, l'alternativa più semplice è utilizzare WSL2 (Windows Subsystem for Linux 2) ed eseguire Docker Engine direttamente all'interno della distribuzione Linux. In questo modo, è possibile fare a meno di Docker Desktop, lavorare dalla riga di comando di Linux e continuare a utilizzare i propri strumenti Windows.

Installazione e preparazione di WSL2 su Windows 10 e Windows 11

WSL2 è diventato il metodo raccomandato da Microsoft e Docker per lavorare con i container Linux su Windows, sia Windows 10 che Windows 11. Offre un vero kernel Linux racchiuso in una macchina virtuale piccola e ottimizzata e si integra molto bene con il sistema.

Per prima cosa, verifica che la tua versione di Windows sia compatibile. stampa WIN+R, Scrivi winver e controlla i dati:

  • Windows 10 Deve essere almeno la versione 1903 con build 18362.1049 o superiore.
  • Windows 11 È compatibile con tutte le versioni attuali.

Successivamente, verifica se la virtualizzazione hardware è abilitata . Apri Gestione attività , vai alla scheda Prestazioni , seleziona CPU e guarda il riquadro informativo: dovrebbe essere visualizzato "Virtualizzazione: abilitata".

Se risulta disabilitata e la tua CPU supporta la virtualizzazione , dovrai accedere al BIOS/UEFI della scheda madre e abilitare le opzioni di virtualizzazione ( Intel VT-x, AMD-V o simili). Se il tuo processore è molto vecchio o il produttore l'ha bloccata, si tratterà di una limitazione fisica.

Per abilitare le funzionalità WSL2 su Windows, stampa WIN+R, Scrivi optionalfeatures E nella finestra delle funzionalità, seleziona queste due voci:

  • Virtual Machine Platform
  • Windows Subsystem for Linux

Lascia che Windows scarichi e installi i componenti necessari ; al termine, ti verrà chiesto di riavviare il sistema. Riavvia il computer, perché senza questo riavvio WSL2 non verrà applicato correttamente.

Al riavvio del sistema, apri un Prompt dei comandi con privilegi di amministratore (cerca "Prompt dei comandi" nel menu Start > fai clic con il pulsante destro del mouse > Esegui come amministratore) ed esegui:

wsl --set-default-version 2

Quindi aggiorna il kernel WSL2 all'ultima versione disponibile con:

wsl --update --web-download

Per vedere quali distribuzioni Linux puoi installare , consulta l'elenco di quelle disponibili online:

wsl --list --online

In generale, per i principianti si consiglia di utilizzare una versione LTS recente di Ubuntu , poiché la maggior parte della documentazione e degli esempi si basano su di essa. Ad esempio, per installare Ubuntu 24.04 LTS:

wsl --install --web-download --distribution Ubuntu-24.04

Al termine dell'installazione della distribuzione, si aprirà automaticamente una finestra del terminale che ti chiederà di creare un nome utente e una password per quel sistema Linux. Scegli credenziali sicure; idealmente, non dovrebbero corrispondere al tuo account Windows.

Se si desidera ottimizzare lo spazio occupato dal disco virtuale della distribuzione , è possibile configurarlo come "sparse" (dinamico) dal prompt dei comandi di Windows:

wsl --manage Ubuntu-24.04 --set-sparse true

Da questo punto in poi avrai un ambiente Linux completo che gira “all’interno” di WindowsPuoi accedervi in ​​qualsiasi momento eseguendo wsl da CMD, PowerShell oppure utilizzando il Terminale di Windows, che creerà anche profili per ogni distribuzione installata.

Installa Docker Engine su WSL2 senza Docker Desktop

Con la tua distribuzione Linux in esecuzione su WSL2, il passo successivo è installare Docker Engine direttamente , bypassando il livello aggiuntivo di Docker Desktop. Questo offre prestazioni quasi native e, in molti casi, semplifica le cose se non hai bisogno dell'interfaccia grafica.

Avvia il tuo sistema Ubuntu in WSL2 e per prima cosa aggiorna l'elenco dei pacchetti per assicurarti che tutto sia aggiornato:

sudo apt-get update

Installa le dipendenze di base per lavorare con i repository HTTPS e gestire le chiavi GPG di terze parti:

sudo apt-get install ca-certificates curl

Crea la directory in cui salverai la chiave GPG per il repository Docker ufficiale e scarica la chiave:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Aggiungi il repository Docker ufficiale per Ubuntu utilizzando l'architettura e il nome in codice del tuo sistema:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ora che hai aggiunto la sorgente Docker, aggiorna nuovamente i repository e installa il motore con i relativi strumenti:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Per evitare di dover sempre usare sudo con i comandi DockerAggiungi il tuo utente Linux al gruppo docker:

sudo usermod -aG docker $USER

Disconnettiti dalla distribuzione e accedi di nuovo (oppure chiudi la finestra WSL e riaprila) affinché le modifiche al gruppo abbiano effetto. Se tutto è andato bene, dovresti essere in grado di eseguire:

  Come lavorare con documenti e fogli di calcolo di grandi dimensioni su Linux utilizzando OnlyOffice

docker info
docker run --rm hello-world

Se visualizzi il messaggio di benvenuto di Docker, significa che il tuo ambiente container Linux è già in esecuzione su WSL2 , completamente indipendente da Docker Desktop e con un consumo di risorse molto basso.

Utilizzare Docker Desktop con backend WSL2 anziché Hyper-V

Se preferisci un'esperienza più "simile a quella di un desktop", con un'interfaccia grafica e procedure guidate , puoi comunque utilizzare Docker Desktop specificando però che utilizzi WSL2 come backend anziché Hyper-V. Questa opzione è particolarmente utile su Windows 10 Home, dove Hyper-V completo non è disponibile.

Scarica Docker Desktop dal sito web ufficiale di Docker ed esegui il programma di installazione. Durante il processo, se il tuo sistema supporta entrambi, ti verrà chiesto se desideri utilizzare WSL2 o Hyper-V. Nella maggior parte degli scenari di sviluppo, si consiglia di selezionare WSL2.

Una volta installato, avvia Docker Desktop dal menu Start . Quando l'icona di Docker appare nella barra delle applicazioni (potrebbe trovarsi nel menu delle icone nascoste), fai clic con il pulsante destro del mouse su di essa e vai su Impostazioni.

Nella sezione Generale della configurazione, assicurati che la casella di controllo "Usa il motore basato su WSL 2" sia attiva , perché in questo modo Docker Desktop si affida a WSL2 per eseguire i container Linux.

In Impostazioni > Risorse > Integrazione WSL , vedrai un elenco delle distribuzioni WSL2 installate. Abilita l'integrazione per quelle in cui desideri utilizzare Docker (ad esempio, Ubuntu 24.04). Da quel momento in poi, potrai avviare i container da quella distribuzione utilizzando il Docker Engine gestito da Docker Desktop.

Per confermare che tutto sia in ordine, apri un terminale nella tua distribuzione WSL ed esegui:

docker --version
docker run hello-world

Se il container di test funziona correttamente, significa che Docker Desktop è in esecuzione con un backend WSL2 , il che consente di combinare un'interfaccia grafica, una facile gestione delle immagini e le prestazioni ragionevolmente buone di WSL2.

Hyper-V come alternativa di virtualizzazione per Docker Desktop

Sui sistemi con Windows 10/11 Pro o Enterprise e virtualizzazione hardware disponibile , un'altra opzione è quella di lasciare che Docker Desktop utilizzi Hyper-V direttamente come motore di virtualizzazione per la macchina virtuale Linux interna.

Hyper-V è l'hypervisor nativo di Microsoft , disponibile sia in Windows Server che nelle edizioni professionali di Windows per desktop. Per Docker, funge da host per una macchina virtuale leggera su cui vengono eseguiti il ​​Docker Engine e l'intero stack di container.

Per abilitare Hyper-V, torna al pannello Funzionalità di Windows (Pannello di controllo > Programmi > Programmi e funzionalità > Attiva o disattiva funzionalità di Windows) e seleziona la casella Hyper-V . Se richiesto, tieni a portata di mano il file ISO oppure lascia che Windows scarichi i componenti.

Dopo il riavvio, scarica e installa Docker Desktop per Windows . Durante la procedura guidata, deseleziona l'opzione per utilizzare WSL2 come backend e lascia attiva l'opzione per utilizzare Hyper-V. Il programma di installazione creerà la macchina virtuale Docker su Hyper-V e configurerà i servizi necessari.

Quando riavvii e avvii Docker Desktop , accedi con il tuo account Docker (gratuito per uso personale e per piccole imprese) e completa il breve questionario di benvenuto. Se riscontri errori all'avvio del motore , verifica che Hyper-V sia abilitato correttamente e che non ti trovi all'interno di un'altra macchina virtuale senza virtualizzazione nidificata.

Dall'interfaccia di Docker Desktop è possibile visualizzare l'utilizzo di CPU e memoria dei container , scaricare immagini dall'Hub, avviare container tramite la funzione di ricerca integrata e, in generale, sperimentare con un'interazione minima tramite riga di comando. Tuttavia, il compromesso consiste nella dipendenza obbligatoria dalla virtualizzazione hardware Hyper-V.

Requisiti di Docker Desktop su Windows e limitazioni senza virtualizzazione

Per impostazione predefinita, Docker Desktop su Windows richiede che la virtualizzazione sia abilitata , sia per utilizzare Hyper-V sia per eseguire il piccolo ambiente WSL2 con il suo kernel Linux. Questo requisito non è arbitrario: i container Linux necessitano di un kernel Linux e su Windows questo può essere fornito solo tramite una macchina virtuale.

I requisiti minimi tipici per l'installazione di Docker Desktop su Windows 10 includono:

  • CPU a 64 bit con SLAT e ha abilitato il supporto della virtualizzazione hardware.
  • Almeno 4 GB di RAM affinché il sistema e i contenitori possano respirare.
  • Windows 10 Home, Pro o Enterpriseo Windows 11 equivalente.
  • 20 GB o più di spazio su disco per lo strumento stesso, le immagini e i volumi.
  • Hyper-V o WSL2 attivato in base all'edizione di Windows.

In Windows 10 Home, è possibile utilizzare Docker Desktop solo con un backend WSL2 , poiché Hyper-V completo non è supportato. Nelle versioni Pro ed Enterprise, è possibile scegliere, ma al momento WSL2 è generalmente l'opzione più flessibile e meglio integrata per lo sviluppo.

Se non si dispone di virtualizzazione hardware o se questa non è abilitata , la situazione si complica: Docker Desktop non si avvierà correttamente e, anche tentando soluzioni alternative, si andrà contro la progettazione predefinita dello strumento. In tal caso, la soluzione consiste solitamente nell'utilizzare un'altra macchina, un server Linux remoto o, quantomeno, una macchina virtuale basata su cloud.

  Come integrare 7-Zip nel menu contestuale e ottimizzare la compressione in Windows

Integra Docker e WSL2 con Visual Studio Code e contenitori remoti

Una volta che i container sono in esecuzione (sia con Docker Engine in WSL2 che con Docker Desktop) , il modo più comodo per sviluppare è solitamente con Visual Studio Code e le sue estensioni per gli ambienti remoti.

Il primo passo consiste nell'installare l'estensione "WSL" in VS Code . Questa estensione permette di aprire direttamente in VS Code le cartelle presenti nella propria distribuzione Linux (ad esempio, Ubuntu in WSL2), senza doversi preoccupare di percorsi, permessi o file binari incompatibili.

Installa anche l'estensione "Dev Containers" . Con essa, puoi aprire il tuo progetto all'interno di un container Docker e trasformare quel container nel tuo ambiente di sviluppo completo: dipendenze, versione di Python, Node, .NET, ecc., tutto incapsulato.

Infine, aggiungi l'estensione "Docker" a VS Code per gestire immagini, container, log e distribuzioni direttamente dall'interfaccia dell'editor, utilizzando pannelli laterali e comandi contestuali.

Un flusso di lavoro tipico consisterebbe nel clonare un progetto sulla propria distribuzione WSL2 , ad esempio:

git clone https://github.com/<usuario>/mi-proyecto.git
cd mi-proyecto

Da lì, si avvia VS Code puntando alla cartella del progetto con:

code .

Nella palette dei comandi di VS Code (Ctrl+Maiusc+P), seleziona “Dev Containers: Riapri nel contenitore” in modo che il progetto si riapra all'interno di un contenitore Docker definito da una configurazione .devcontainerSe non esiste, l'estensione suggerirà modelli in base al tipo di progetto (Python, Node, .NET, ecc.).

Una volta creato e avviato il container, avrai a disposizione un ambiente di sviluppo pulito e riproducibile , con il quale potrai eseguire il debug, avviare i test, avviare il server di sviluppo e aprirlo nel browser di Windows come se fosse un'applicazione locale.

Problemi comuni e come risolverli

Se hai mai provato le versioni di anteprima di Docker per WSLPotresti avere un contesto Docker chiamato wsl che è già obsoleto e può generare errori come "open //./pipe/docker_wsl: il sistema non riesce a trovare il file specificato".

Per verificare i contesti disponibili, eseguire :

docker context ls

Se ne vedi uno chiamato wslPuoi eliminarlo in tutta tranquillità. utilizzando:

docker context rm wsl

Un altro problema comune è capire dove Docker memorizza i dati quando si lavora con WSL2 . Di solito si vede qualcosa del genere:

  • \wsl$\docker-desktop
  • \wsl$\docker-desktop-data

Per esplorarli da Esplora file di Windows , apri un terminale nella tua distribuzione WSL ed esegui:

explorer.exe .

Se si naviga verso il percorso \\wsl\<Distro>\mnt\wsl (sostituendo <Distro> con il loro vero nome, ad esempio Ubuntu-24.04), dovresti essere in grado di vedere le cartelle in cui Docker Desktop archivia i livelli e i volumi delle immagini.

Quando Docker Desktop si rifiuta di avviarsi o si blocca , la causa è quasi sempre da ricercare in uno di questi punti: virtualizzazione disabilitata nel BIOS, servizi Hyper-V danneggiati, WSL2 obsoleto o conflitti con un altro strumento di virtualizzazione che tenta di controllare VT-x/AMD-V.

Cosa fare se l'hardware non supporta la virtualizzazione hardware

Se, dopo aver esaminato il BIOS e la documentazione, scopri che il tuo computer non supporta effettivamente la virtualizzazione hardware , le possibilità si riducono considerevolmente e Docker Desktop, in particolare, non sarà un'opzione praticabile su Windows.

In tal caso, soluzioni ragionevoli prevedono l'utilizzo di un'altra macchina o del cloud : un piccolo server Linux sulla rete locale, un'istanza presso un provider cloud economico o persino un laptop più recente che supporti VT-x/AMD-V. Dal tuo computer Windows, potresti connetterti tramite SSH e utilizzare Docker Engine.

È possibile anche ricorrere alla virtualizzazione del software con strumenti obsoleti o configurazioni sperimentali , ma le prestazioni saranno scarse e la stabilità discutibile. Potrebbe essere sufficiente per un ambiente di apprendimento molto basilare, ma per qualsiasi cosa anche solo lontanamente seria, è meglio non fare affidamento su tali soluzioni.

In termini pratici, se la tua GPU è di buon livello ma la tua CPU non supporta la virtualizzazione , puoi continuare a lavorare con strumenti di sviluppo locali e riservare Docker e i container a un ambiente remoto. Non è altrettanto comodo, ma almeno avrai un ambiente compatibile e gestibile.

Configurare un ambiente Docker Desktop efficiente senza virtualizzazione hardware attiva su Windows è fortemente limitato dalla progettazione dello strumento e dalla necessità di un kernel Linux in una macchina virtuale ; tuttavia, combinando WSL2, il Docker Engine nativo su Linux, l'integrazione con Visual Studio Code e, quando l'hardware lo consente, Hyper-V o WSL2 come backend di Docker Desktop, è possibile ottenere un ambiente container potente, flessibile e relativamente leggero anche su computer domestici, a patto di accettare che la virtualizzazione hardware non sia più un'opzione, ma praticamente un requisito di partenza.