Esplora Docker
L'amministratore di Windows Server di Contoso deve comprendere Docker, i contenitori Docker e il modo in cui è possibile eseguire Docker e i contenitori Docker in Windows Server.
Panoramica dei runtime di Docker e dei contenitori
Docker Inc. è un'azienda che ha creato una raccolta di strumenti, soluzioni e servizi open source che forniscono un modello comune per la creazione di pacchetti (noto anche come containerizzazione) del codice dell'app in un'unità standardizzata per lo sviluppo di software. Questa unità standardizzata, denominata contenitore Docker, è un software incapsulato in un file system completo che include tutto il necessario per l'esecuzione: codice, runtime, strumenti di sistema, librerie di sistema e tutto ciò che si può installare in un server.
Per supportare un contenitore Docker, sono disponibili due componenti sottostanti che sono in genere nascosti o non rilevati dall'utente che esegue un contenitore. Questi due componenti sono il runtime del contenitore e le funzionalità del sistema operativo per supportare i contenitori. In Windows Server, la funzionalità che supporta il contenitore Docker è semplicemente denominata "Contenitori". Questa funzionalità interagisce con un componente denominato Host Compute Service (HCS). HCS è responsabile dell'orchestrazione della piattaforma di virtualizzazione in Windows Server ed è l'API inferiore che supporta sia contenitori che macchine virtuali Hyper-V.
Oltre alla funzionalità del sistema operativo che pianifica i contenitori, vi è un runtime dei contenitori. Un runtime del contenitore si trova tra l'interfaccia della riga di comando, l'interfaccia utente o l'agente di orchestrazione del contenitore e la funzionalità del sistema operativo sottostante. È compito del runtime del contenitore tradurre i comandi dell'utente o dell'orchestratore di contenitori nelle funzionalità della piattaforma del sistema operativo. Ad esempio, quando si chiede all'interfaccia della riga di comando di Docker di eseguire un nuovo contenitore, l'interfaccia della riga di comando interagirà con il runtime del contenitore, che a sua volta invia il comando al sistema operativo in modo da comprenderlo. I runtime dei contenitori esistono in modo che i livelli precedenti non sappiano come il sistema operativo si aspetta di ricevere i comandi. Dal punto di vista dell'utente, questo aspetto è importante perché diversi runtime di contenitori avranno funzionalità e funzionalità diverse.

Sono disponibili molti runtime di contenitori diversi per l'esecuzione di contenitori in Windows Server. I più comuni sono:
- Il progetto Moby. Moby è il progetto open source da cui Docker compila i progetti commerciali. In Windows Server Moby è un progetto supportato dalla community che sfrutta Dockerd come runtime del contenitore. Moby è ideale per testare i contenitori in Windows Server. Quando installato, Moby fornisce non solo il runtime del contenitore Dockerd, ma anche l'interfaccia della riga di comando per interagire con i contenitori in Windows Server.
Attenzione
Dockerd in Windows e Windows Server usa HCSv1. Su Linux, Moby ha iniziato a utilizzare containerd come runtime dei container. Attualmente è in corso lo spostamento di Moby in containerD in Windows, sfruttando l'interfaccia HCSv2 più recente e migliorata.
ContainerD. ContainerD è un runtime del contenitore open source ed è stato recentemente stabilito come runtime del contenitore preferito per gli ambienti Kubernetes. ContainerD può essere usato negli ambienti di produzione ed è il runtime del contenitore predefinito per Windows Server 2022 quando è in esecuzione in ambienti Kubernetes. Quando è installato, ContainerD non fornisce un'interfaccia della riga di comando per interagire con i contenitori. È possibile usare invece altre interfacce CLI open source, ad esempio CRICTL o NerdCTL.
Mirantes Container Runtime (MCR). MCR, formalmente noto come Docker Enterprise Edition (Docker EE), offre le stesse funzionalità di Docker CE e funzionalità aggiuntive create appositamente per le distribuzioni aziendali. McR è consigliato quando si usa Docker Swarm come agente di orchestrazione del contenitore. Quando è installato, MCR fornisce il runtime del contenitore e la stessa esperienza dell'interfaccia della riga di comando di Docker e Moby.
Nota
Un altro componente denominato Docker Desktop per Windows può essere usato in Windows 10 e 11 a scopo di sviluppo.
Eseguire contenitori su Windows Server
Prima di eseguire i contenitori in Windows Server, è necessario determinare quale runtime del contenitore si vuole usare nell'ambiente. Il runtime del contenitore determinerà il processo di installazione che è necessario seguire. Per altre informazioni sulle opzioni in Windows Server e su come installarle, vedere come preparare l'host di Windows Server per i contenitori.
Importante
Se si prevede di usare la modalità di isolamento Hyper-V per i contenitori, è anche necessario installare il ruolo server Hyper-V nel server host. Inoltre, se il server host è a sua volta una macchina virtuale, è necessario abilitare la virtualizzazione annidata prima di installare il ruolo Hyper-V. Poiché, per impostazione predefinita, Windows 10 e 11 eseguono i contenitori basati su Windows nella modalità di isolamento Hyper-V, per supportare questa modalità predefinita è necessario installare la funzionalità Hyper-V nell'ambiente host Windows 10 e 11.
Docker Hub
I contenitori sono basati su immagini del contenitore e queste immagini possono essere archiviate in repository. I repository sono percorsi in cui è possibile creare, archiviare, proteggere e condividere immagini del contenitore. Docker Hub è un servizio di libreria online basato sul Web gestito da Docker, in cui è possibile:
Registrare, archiviare e gestire le proprie immagini Docker in un repository online e condividerle con altri utenti.
Accedere a oltre 100.000 immagini del contenitore inserite da fornitori di software, progetti open source e altri membri della community.
Registro contenitori di Microsoft
Microsoft fornisce immagini dei contenitori tramite Il Registro Azure Container (MCR) in mcr.microsoft.com. è la fonte ufficiale delle immagini contenitore fornite da Microsoft. Indipendentemente dalla posizione in cui vengono individuate le immagini contenitore Microsoft, l'origine di pull è mcr.microsoft.com.
Nota
Registro Azure Container è un servizio di Azure che consente di creare un repository di immagini del contenitore personalizzate. È possibile usare questo repository per archiviare e gestire le immagini per tutti i tipi di distribuzioni di contenitori.