Containers

Docker Desktop bloccato durante passaggio a Windows container

Durante alcuni test con Docker e Docker Desktop, ho tentato la creazione di un progetto multi-platform con docker compose, e ho avuto qualche difficoltà.

Nel caso specifico, l’obiettivo era creare un contesto in cui il frontend Blazor fosse dockerizzato in un container Linux, mentre le API fossero servite da un progetto ASP.NET Web API (.NET Framework 4.7.2) in un container Windows, per simulare una casistica di revamping di vecchi applicativi.

Il primo passo per fare questo è verificare i prerequisiti per l’esecuzione di container Windows, e quindi configurare l’ambiente Docker per eseguirli (di default Docker Desktop imposta la modalità Linux/WSL). Modificare questa impostazione con Docker Desktop è estremamente semplice, è sufficiente cliccare di destro sulla tray icon dell’applicativo e selezionare “Switch to Windows containers”.

Dopo un po’ di rimuginamenti, Docker Desktop va in errore, e si pianta con un messaggio abbastanza sibillino:

Something went wrong - Post "http://ipc/windowsfeatures/check": open \\.\pipe\dockerBackendV2: The system cannot find the file specified.
Screenshot errore Docker Desktop: "Something went wrong - Post "http://ipc/windowsfeatures/check": open \\.\pipe\dockerBackendV2: The system cannot find the file specified."

Anche l’esecuzione da riga di comando del client con log verboso non dà molte informazioni in più:

> cd "C:\Program Files\Docker\Docker"
> .\DockerCli.exe -Verbose
[2024-10-04T12:18:39.554157800Z][DockerCli.exe.ipc][I] ipc.NewClient: dcfbb6ca-docker-cli -> \\.\pipe\dockerBackendApiServer BackendAPI

Ho tentato anche di tornare ai container Linux, sia da tray icon, che da CLI, senza successo (sempre stesso errore):

> ./DockerCli.exe -SwitchLinuxEngine

Alla fine mi sono rassegnato, e ho proceduto ad una reinstallazione pulita di Docker Desktop (con rimozione della cartelle %AppData%\Docker e %UserProfile%\.docker). Questo ovviamente ha comportato l’eliminazione di tutti i container e le immagini scaricate.

Una volta completata la reinstallazione, da tray icon sono riuscito a configurare la modalità Windows containers.

Docker Desktop bloccato durante passaggio a Windows container
Tag: