Su Windows 11 e 10 la strada più pulita per Docker Desktop passa da PowerShell: ti permette di verificare prerequisiti, installare i componenti giusti e lasciare traccia di quello che hai fatto. Il punto non è solo “far partire Docker”, ma arrivarci con un ambiente coerente: virtualizzazione attiva, WSL 2 disponibile, kernel aggiornato e una macchina che non si rompa al primo riavvio.
Qui sotto trovi un flusso operativo che uso quando devo preparare una workstation o una VM Windows per sviluppo locale. L’obiettivo è ridurre i passaggi manuali, evitare installazioni incomplete e avere sempre un controllo rapido su versione, stato del servizio e integrazione con WSL.
Prerequisiti che conviene verificare prima
Docker Desktop su Windows non è solo un eseguibile da lanciare. Dipende da funzionalità di sistema che, se mancanti, generano errori poco chiari: “hardware assisted virtualization is disabled”, “WSL kernel update required”, oppure avvio lento con backend non disponibile. Prima di installare, controlla questi punti.
1. Virtualizzazione abilitata nel BIOS/UEFI. Se il sistema non espone VT-x o AMD-V, Docker Desktop non può usare il backend moderno con WSL 2.
2. Windows 10 aggiornato almeno a una build compatibile con WSL 2, oppure Windows 11. Se l’host è datato, il problema non è Docker ma il supporto del sistema operativo.
3. PowerShell eseguito come amministratore. Molte operazioni di installazione, inclusa l’attivazione di feature opzionali, richiedono privilegi elevati.
4. Spazio disco sufficiente. Docker Desktop crea immagini, volumi e una distribuzione WSL dedicata; se il disco di sistema è quasi pieno, l’installazione può riuscire ma l’uso reale no.
Per una verifica rapida della versione di Windows e dello stato della virtualizzazione, puoi usare questi comandi.
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"Virtualization Enabled In Firmware" Se la riga “Virtualization Enabled In Firmware” risulta “No”, il problema va risolto nel firmware della macchina, non in Windows. In alternativa puoi controllare in Gestione attività, scheda Prestazioni, voce CPU: il campo “Virtualizzazione” deve risultare attivo.
Installazione di Docker Desktop con PowerShell
Il metodo più semplice è usare il package manager ufficiale di Windows. In PowerShell puoi installare Docker Desktop con Winget, che gestisce download e setup in modo ripetibile. È la strada più comoda quando vuoi automatizzare o replicare l’installazione su più postazioni.
winget install -e --id Docker.DockerDesktop Il parametro -e forza l’ID esatto del pacchetto, riducendo il rischio di installare software con nome simile. Se Winget non è presente, significa che il sistema è vecchio o la App Installer non è aggiornata; in quel caso conviene aggiornare il componente o usare il pacchetto MSI ufficiale dal sito Docker.
Dopo il download, l’installer avvia il setup grafico. Se preferisci un controllo più diretto, puoi lanciare l’eseguibile scaricato e seguire il wizard; la parte utile è che PowerShell ti consente almeno di standardizzare il canale di installazione e verificare subito l’esito con un comando.
Se vuoi controllare se Docker Desktop è stato installato correttamente, verifica il comando docker e la versione del client.
docker version Se il comando non è riconosciuto subito dopo l’installazione, non è automaticamente un guasto. Spesso basta chiudere e riaprire PowerShell, oppure fare logout/login, perché il PATH utente venga aggiornato. Se invece il binario manca del tutto, c’è stato un problema nel setup.
WSL 2: il backend che conviene usare
Su Windows 11 e su Windows 10 recente, il backend consigliato è WSL 2. È più leggero della vecchia virtual machine Hyper-V in molti casi d’uso, si integra meglio con il filesystem Linux e riduce gli attriti quando lavori con stack LAMP, LEMP o toolchain DevOps.
Se WSL non è già presente, puoi installarlo direttamente da PowerShell. Questo abilita anche le feature di sistema necessarie, evitando di fare tutto a mano dal pannello “Funzionalità di Windows”.
wsl --install Su alcune macchine questo comando richiede un riavvio. È normale. Dopo il reboot, controlla lo stato delle distribuzioni installate e la versione di WSL.
wsl -l -v Se la tua distribuzione Linux è ancora su versione 1, puoi convertirla a WSL 2. Docker Desktop lavora meglio con WSL 2 perché il filesystem e il networking risultano più allineati al modello attuale.
wsl --set-version Ubuntu 2 Il nome della distribuzione va adattato a quello presente nel tuo sistema. Se non sai quale sia, usa wsl -l -v e leggi la colonna NAME.
Attivare le feature di Windows richieste
In alcuni ambienti conviene forzare l’attivazione delle feature necessarie prima ancora di installare Docker Desktop. Questo evita di scoprire tardi che il sottosistema Linux non è disponibile o che la piattaforma di virtualizzazione non è stata caricata.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart Questi comandi sono utili quando gestisci una macchina pulita o un’immagine preparata per sviluppo. Dopo l’esecuzione, riavvia il sistema per applicare le modifiche. Se il contesto è un PC aziendale con policy restrittive, è possibile che la feature sia bloccata da criteri di gruppo; in quel caso il problema non è tecnico ma amministrativo.
Per chi preferisce il controllo da interfaccia, il percorso equivalente è Pannello di controllo → Programmi → Attiva o disattiva funzionalità di Windows. È più lento, ma utile quando devi documentare le modifiche o lavorare su una macchina senza accesso amministrativo via shell.
Primo avvio e configurazione iniziale
Al primo avvio Docker Desktop può chiedere di accettare i termini, scaricare componenti aggiuntivi e configurare il backend WSL. Non saltare questa fase: è il momento in cui il software crea l’infrastruttura locale che userai per immagini, container e volumi.
Dopo l’avvio, controlla che Docker sia realmente operativo con un container di test. È una verifica più utile di qualsiasi schermata di benvenuto.
docker run --rm hello-world Se il container parte e stampa il messaggio di successo, la catena base funziona: client, daemon, networking e accesso al registro Docker Hub. Se fallisce, il messaggio di errore va letto con attenzione perché spesso indirizza subito verso WSL, DNS o problemi di rete aziendale.
Molti ambienti hanno proxy, ispezione TLS o filtri web. In quel caso Docker Desktop può scaricare male le immagini o mostrare timeout. Prima di toccare la configurazione, prova a distinguere tra un problema di accesso al registry e un problema locale del daemon.
Verifiche utili quando qualcosa non parte
Se Docker Desktop non si avvia o resta bloccato in stato “Starting”, il primo controllo è capire se il problema sta nel layer Windows, in WSL o nel networking. Non conviene cambiare tre cose insieme: prima osserva, poi modifichi.
Controlla lo stato del servizio e la presenza del processo.
Get-Service com.docker.service Atteso: stato Running o almeno Stopped ma presente. Se il servizio non esiste, l’installazione è incompleta o corrotta. Se esiste ma si ferma subito, conviene leggere i log applicativi di Docker Desktop.
Un’altra verifica pratica è il backend WSL:
wsl --status Qui cerchi due cose: versione predefinita e kernel installato. Se il kernel è mancante o obsoleto, Docker Desktop può avviarsi ma fallire in fase di integrazione. In molti casi il problema si risolve aggiornando WSL con il canale ufficiale di Microsoft.
Se invece il problema è il DNS, il sintomo tipico è che i container non risolvono i nomi o non riescono a scaricare immagini. In quel caso verifica la connettività dell’host e la capacità di risolvere un dominio esterno.
Resolve-DnsName registry-1.docker.io Se il nome non si risolve già dall’host, non ha senso inseguire Docker: prima va sistemata la rete Windows, il proxy o il DNS aziendale.
Aggiornamento di Docker Desktop e manutenzione
Docker Desktop va tenuto aggiornato, ma senza confondere aggiornamento e reinstallazione compulsiva. Se l’applicazione funziona, l’update è una change controllata: leggi la release note, verifica che non impatti il tuo flusso e poi aggiorna.
Con Winget puoi aggiornare il pacchetto quando disponibile.
winget upgrade -e --id Docker.DockerDesktop Dopo l’upgrade, riesegui il test con docker version e docker run --rm hello-world. Se il tuo ambiente usa immagini locali importanti, fai attenzione a eventuali modifiche del backend o della policy di integrazione con WSL. Un aggiornamento fatto male può cambiare il comportamento del networking o la visibilità dei volumi.
Per manutenzione ordinaria, conviene anche controllare lo spazio occupato da immagini e volumi. Su workstation usate da tempo, il consumo disco cresce in fretta.
docker system df Il comando non è distruttivo: ti mostra quanto spazio stanno occupando immagini, container, volumi e cache di build. Se il disco è saturo, prima di cancellare qualcosa fai un inventario e conserva ciò che serve davvero.
Disinstallazione pulita e rollback
Se devi tornare indietro, la rimozione di Docker Desktop è abbastanza lineare, ma il rollback vero dipende da quanto hai già usato il sistema. L’app si può disinstallare, mentre immagini e volumi possono restare nel layer WSL o nel profilo utente.
Per rimuovere il pacchetto con Winget:
winget uninstall -e --id Docker.DockerDesktop Dopo la disinstallazione, verifica che il servizio non sia più presente e che i componenti WSL associati siano stati rimossi solo se non ti servono per altro. Se usi WSL anche per altre distribuzioni, non cancellare tutto alla cieca.
Se il rollback deve essere completo, documenta prima cosa vuoi preservare: immagini, volumi, repository locali e configurazioni di Docker Desktop. In ambienti di lavoro reali, il rischio non è perdere l’eseguibile, ma perdere dati non esportati. Per ridurre il blast radius, evita di rimuovere manualmente directory o distribuzioni senza un elenco preciso di cosa contiene ciascun layer.
Assunzione operativa: la macchina è Windows 11 o Windows 10 aggiornato, hai privilegi amministrativi e vuoi usare Docker Desktop con backend WSL 2. Se una di queste condizioni manca, il percorso cambia e conviene fermarsi prima di forzare l’installazione.
Checklist finale da tenere a portata di mano
Prima di considerare conclusa l’installazione, verifica questi punti in ordine:
- PowerShell avviato come amministratore.
- Virtualizzazione attiva nel firmware.
- WSL 2 installato e kernel aggiornato.
- Docker Desktop installato con
wingeto pacchetto ufficiale. docker versionrestituisce client e server.docker run --rm hello-worldcompleta senza errori.- Se usi proxy o DNS aziendale, i test di risoluzione e download funzionano.
Con questa sequenza eviti il classico scenario in cui Docker “sembra installato” ma poi non parte, non risolve i nomi o non riesce a scaricare immagini. La differenza tra un setup fragile e uno affidabile sta quasi sempre nella verifica dei prerequisiti e nella conferma finale con un container reale, non nella sola presenza dell’icona sul desktop.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.