Immagini di base dei contenitori

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Windows offre quattro immagini di base del contenitore che gli utenti possono usare per la compilazione. Ogni immagine di base è un tipo diverso del sistema operativo Windows o Windows Server, ha un footprint su disco diverso e ha un set diverso del set di API Windows.

Individuazione dell'immagine

Tutte le immagini di base del contenitore di Windows sono individuabili tramite Docker Hub. Le immagini di base del contenitore di Windows sono gestite da mcr.microsoft.com, il Registro contenitori di Microsoft. Ecco perché i comandi pull per le immagini di base del contenitore di Windows sono simili ai seguenti:

docker pull mcr.microsoft.com/windows/servercore:ltsc2022

McR non ha una propria esperienza di catalogo ed è progettato per supportare cataloghi esistenti, ad esempio l'hub Docker. Grazie al footprint globale di Azure e abbinato a Rete CDN di Azure, mcr offre un'esperienza di pull di immagini coerente e veloce. I clienti di Azure, che eseguono i loro carichi di lavoro in Azure, traggono vantaggio dai miglioramenti delle prestazioni di rete, nonché da una stretta integrazione con il Registro contenitori di Microsoft (origine delle immagini del contenitore di Microsoft), Azure Marketplace e i servizi Azure in continua espansione che offrono contenitori come il formato del pacchetto di distribuzione.

Scelta di un'immagine di base

Come scegliere l'immagine di base corretta per la compilazione? Per la maggior parte degli utenti, Windows Server Core e Nanoserver saranno le immagini più appropriate da usare. Ogni immagine di base è brevemente descritta di seguito:

  • Nano Server è un'offerta di Windows ultraleggero per lo sviluppo di nuove applicazioni.
  • Server Core è di dimensioni medie e un'ottima opzione per le app di Windows Server "lifting and shifting".
  • Windows è l'immagine più grande e include il supporto completo dell'API Windows per i carichi di lavoro.
  • Windows Server è leggermente più piccolo dell'immagine di Windows, ha il supporto completo dell'API Windows e consente di usare più funzionalità server.

Linee guida

Anche se è possibile scegliere come destinazione qualsiasi immagine che si vuole usare, ecco alcune linee guida che consentono di orientare la scelta:

  • L'applicazione richiede la versione completa di .NET Framework? In caso affermativo, devi specificare Windows Server Core come destinazione.
  • Stai creando un'app di Windows basata su .NET Core? In caso affermativo, devi specificare Nanoserver come destinazione.
  • Nell'immagine del contenitore di Windows Server Core manca una dipendenza necessaria all'app? In caso affermativo, devi cercare di specificare Windows come destinazione. Questa immagine è molto più grande delle altre immagini di base, ma contiene molte delle librerie Windows principali, ad esempio la libreria GDI.
  • Sei un partecipante al Programma Windows Insider? In caso affermativo, dovresti usare la versione Insider delle immagini. Per altre informazioni, vedere "Immagini di base per i partecipanti al programma Windows Insider" di seguito.
  • È necessario il supporto dell'accelerazione GPU per i carichi di lavoro dei contenitori? In caso affermativo, è consigliabile usare l'immagine per includere l'accelerazione Windows Server hardware per i carichi di lavoro dei contenitori windows.

Suggerimento

Molti utenti di Windows vogliono distribuire in un contenitore le applicazioni che hanno una dipendenza da .NET. Oltre alle quattro immagini di base descritte in questo articolo, Microsoft pubblica diverse immagini del contenitore di Windows preconfigurate con i framework Microsoft più diffusi, ad esempio l'immagine di .NET Framework e l'immagine di ASP .NET.

Windows e Windows Server

L'immagine Windows Server (3,1 GB) è leggermente inferiore rispetto all'immagine Windows (3,4 GB). L'immagine di Windows Server eredita anche tutti i miglioramenti delle prestazioni e dell'affidabilità dall'immagine Server Core, supporta la GPU e non prevede limiti per le connessioni IIS. Per usare l'immagine di Windows Server più recente, è necessaria un'installazione di Windows Server 2022. L'immagine di Windows non è disponibile per Windows Server 2022.

Immagini di base per i partecipanti al Programma Windows Insider

Microsoft fornisce le versioni "Insider" di ogni immagine di base del contenitore. Queste immagini del contenitore Insider contengono lo sviluppo delle funzionalità più recenti e importanti delle immagini del contenitore. Quando esegui un host che rappresenta una versione Insider di Windows (Windows Insider o Windows Server Insider), è preferibile usare queste immagini. Le immagini Insider seguenti sono disponibili nell'hub Docker:

Per altre informazioni, leggi Usare i contenitori con il Programma Windows Insider.

Confronto tra Windows Server Core e Nano Server

Windows Server Core e Nanoserver sono le immagini di base più comuni di destinazione. La differenza principale tra queste immagini è che Nano Server dispone di una superficie API significativamente inferiore. PowerShell, WMI e lo stack di manutenzione di Windows sono assenti dall'immagine di Nano Server.

Nano Server è stato progettato per fornire una superficie API appena sufficiente per eseguire app che hanno una dipendenza da .NET Core o da altri framework open source moderni. Come conseguenza della superficie API ridotta, l'immagine di Nano Server dispone di un footprint su disco significativamente inferiore rispetto alle altre immagini di base di Windows. Tenere presente che è sempre possibile aggiungere livelli su Nano Server in base alle esigenze. Per un esempio di questo esempio, vedere il Dockerfile di .NET Core Nano Server.