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.

  1. 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.

  2. 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.

  1. 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
    
  2. 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
    
  3. Ottenere l'ID del contenitore appena chiuso eseguendo il comando docker ps:

    docker ps -a
    
  4. 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
    
  5. 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.

Scheda Immagini all'interno dell'estensione 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 :

Finestra Impostazioni immagine 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.

Finestra Impostazioni immagine esecuzione

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:

Scheda Contenitori che visualizza i contenitori in esecuzione

Passaggi successivi