Per iniziare: Eseguire il primo contenitore Windows
Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016
Questo argomento descrive come eseguire il primo contenitore Windows, dopo avere configurato l'ambiente come descritto in Introduzione: Preparare Windows per i contenitori. Per eseguire un contenitore, è necessario prima scaricare (in contenitori, anche a cui si fa riferimento come operazione pull) un'immagine di base, che fornisce un livello fondamentale di servizi del sistema operativo al contenitore. Quindi si crea e si esegue un'immagine del contenitore basata sull'immagine di base. Per informazioni dettagliate, procedere con la lettura dell'articolo.
Eseguire il pull di un'immagine di base del contenitore
Tutti i contenitori vengono creati a partire da specifiche immagini. Microsoft offre diverse immagini iniziali, denominate immagini di base, tra cui scegliere (per informazioni dettagliate, vedere Immagini di base del contenitore). Questa procedura esegue il pull (download e installazione) dell'immagine di base leggera di Nano Server.
Aprire una finestra del prompt dei comandi, ad esempio il prompt dei comandi predefinito, PowerShell o Terminale di Windows, quindi eseguire il comando seguente per scaricare e installare l'immagine di base:
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
Se Docker non viene avviato quando si tenta di eseguire il pull dell'immagine, il daemon Docker potrebbe non essere raggiungibile. Per risolvere questo problema, provare a riavviare il servizio Docker.
Suggerimento
Se viene visualizzato un messaggio di errore che indica
no matching manifest for linux/amd64 in the manifest list entries
, assicurarsi che Docker non sia configurato per l'esecuzione di contenitori Linux. Per passare ai contenitori di Windows in Docker, fare clic con il pulsante destro del mouse sull'icona Docker e scegliere Passa ai contenitori di Windows. Per usare la riga di comando per passare da un contenitore all'altro, eseguire& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon
.Durante l'attesa del download, leggere il Contratto di licenza e al termine dell'operazione verificarne l'esistenza nel sistema eseguendo una query sul repository di immagini Docker locale. L'esecuzione del comando
docker images
restituisce un elenco di immagini installate.Ecco un esempio di output che mostra l'immagine di Nano Server.
REPOSITORY TAG IMAGE ID CREATED SIZE microsoft/nanoserver latest 105d76d0f40e 4 days ago 652 MB
Eseguire un contenitore Windows
In questo esempio semplice viene creata e distribuita un'immagine del contenitore 'Hello World'. Per un'esperienza ottimale, eseguire questi comandi in una finestra del prompt dei comandi con privilegi elevati, ma non usare Windows PowerShell ISE perché non funziona per le sessioni interattive con i contenitori, in quanto i contenitori si bloccano.
Avviare un contenitore con una sessione interattiva dall'immagine
nanoserver
immettendo il comando seguente nella finestra del prompt dei comandi:docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd.exe
Dopo l'avvio del contenitore, la finestra del prompt dei comandi cambia il contesto impostandolo sul contenitore. All'interno del contenitore verrà creato un semplice file di testo 'Hello World', quindi il contenitore verrà chiuso immettendo i comandi seguenti:
echo "Hello World!" > Hello.txt exit
Ottenere l'ID del contenitore appena chiuso eseguendo il comando docker ps:
docker ps -a
Creare una nuova immagine 'HelloWorld' che includa le modifiche nel primo contenitore eseguito. A tale scopo, eseguire il comando docker commit, sostituendo
<containerid>
con l'ID del contenitore:docker commit <containerid> helloworld
Al termine si disporrà di un'immagine personalizzata che contiene lo script 'Hello World'. Per visualizzarla, usare il comando docker images.
docker images
Ecco un esempio di output:
REPOSITORY TAG IMAGE ID CREATED SIZE helloworld latest a1064f2ec798 10 seconds ago 258MB mcr.microsoft.com/windows/nanoserver 2022 2b9c381d0911 3 weeks ago 256MB
Infine, eseguire il nuovo contenitore usando il comando docker run con il parametro
--rm
che rimuove automaticamente il contenitore dopo che la riga di comando (cmd.exe) si arresta.docker run --rm helloworld cmd.exe /s /c type Hello.txt
Docker ha creato un contenitore dall'immagine 'HelloWorld', ha avviato un'istanza di cmd.exe nel contenitore e cmd.exe ha letto il file e ha generato l'output del contenuto nella shell. Come passaggio finale, Docker ha interrotto e rimosso il contenitore.
Eseguire un contenitore di Windows con Windows Admin Center
È possibile usare Windows Admin Center per eseguire i contenitori in locale. In particolare, per eseguire i contenitori si usa l'estensione Contenitori dell'istanza di Windows Admin Center. Aprire prima di tutto l'host contenitore che si vuole gestire e nel riquadro Strumenti selezionare l'estensione Contenitori . Selezionare quindi la scheda Immagini all'interno dell'estensione Contenitore in Host contenitore.
Se l'host non ha un'immagine del contenitore di base, selezionare l'opzione Pull per aprire le impostazioni dell'immagine del contenitore pull :
Nelle impostazioni Pull Container Image (Esegui pull immagine del contenitore) specificare l'URL dell'immagine e il tag. Se non si è certi dell'immagine di cui eseguire il pull, Windows Admin Center fornisce un elenco di immagini comuni di Microsoft. È anche possibile fornire le credenziali per eseguire il pull di un'immagine da un repository privato. Dopo aver compilato le informazioni necessarie, fare clic su Pull. Windows Admin Center avvierà il processo di pull nell'host del contenitore. Al termine del download, la nuova immagine verrà visualizzata nella scheda Immagini.
Selezionare l'immagine da eseguire e fare clic su Esegui.
Nel menu Esegui impostare la configurazione del contenitore, ad esempio il nome del contenitore, il tipo di isolamento, le porte da pubblicare e l'allocazione della memoria e della CPU. Inoltre, è possibile aggiungere i comandi Docker run non presenti nell'interfaccia utente, ad esempio -v per il volume permanente. Per altre informazioni sui parametri di Docker run disponibili, vedere la documentazione.
Al termine della configurazione del contenitore, fare clic su Esegui. È possibile visualizzare lo stato dei contenitori in esecuzione nella scheda Contenitori: