Come distribuire Windows Nano Server nei contenitori Docker

Ambiente modulare ma funzionale; è un contenitore Nano Server?
FONTE: Trinity Bouy Wharf

Sebbene Docker sia meglio conosciuto per l’hosting di container Linux, puoi anche usarlo per ospitare container Windows. Microsoft ha creato una versione di Windows Server denominata Nano Server specifica per ambienti containerizzati. In questo articolo imparerai come creare contenitori Docker basati su Nano Server.

Prima di entrare nel merito, devi sapere che Microsoft ha apportato modifiche significative a Nano Server nel corso degli anni. Le istruzioni fornite in questo articolo si applicano solo a Windows Server 2019 e versioni successive. Iniziamo con l’ottenimento dei requisiti!

Installa i prerequisiti

Nano Server è destinato all’uso solo come contenitore di carta. Per questo motivo, è necessario configurare Windows Server per eseguire Docker prima di Nano Server basato su Internet Information Services (IIS). Per fare ciò, attenersi alla seguente procedura:

  1. Installa la funzionalità Hyper-V. Per fare ciò, apri una sessione di PowerShell con privilegi elevati e inserisci:

Install-WindowsFeature -Nome Hyper-V -IncludeManagementTools -Riavvia

  1. Installare il contenitore delle funzionalità dopo il riavvio del server. Immettere questo comando in una finestra di PowerShell con privilegi elevati:

Contenitore Install-WindowsFeature -Riavvia

  1. Aprire una sessione di PowerShell con privilegi elevati al termine del riavvio. Installa il modulo Docker Microsoft Package Management Provider utilizzando questo comando:

Modulo di installazione -Nome DockerMsftProvider -Repository PSGallery -Force

  1. Installa Docker inserendo questo comando:

Pacchetto di installazione – Finestra mobile Nome – NomeProvider DockerMsftProvider

Immagine di Windows PowerShell.
Utilizzare il cmdlet Install-Package per installare Docker.
  1. Avvia il servizio Docker immettendo il seguente comando:

Docker di avvio del servizio

  1. Verifica che Docker sia in esecuzione immettendo questo comando:

versione mobile

Immagine di Windows PowerShell.
Puoi utilizzare il comando Docker version per verificare che Docker sia in esecuzione.

Ora prendiamo il pacchetto Nano Server!

Ottenere il pacchetto Nano Server

Ora che Docker è attivo e funzionante, il passaggio successivo consiste nel trovare un pacchetto Nano Server compatibile con il tuo sistema.

  1. Aprire una sessione di PowerShell con privilegi elevati e immettere il comando seguente:

nanoserver di ricerca Docker

  1. Verifica se esiste un’immagine Nano Server che soddisfi le tue esigenze. Userò il compulim.nanoserver-node immagine
Immagine di Windows PowerShell.
Utilizzare il comando Docker search nanoserver per visualizzare un elenco di immagini disponibili.
  1. Tira poi l’immagine Docker. Osservando la figura sopra, noterai che non c’è nulla nell’elenco che dice “Nano Server”. Tuttavia, la prima voce dell’elenco è NanoServer/iis. NanoServer è il nome dell’immagine di base. Puoi estrarre questa immagine di base immettendo il seguente comando:

Docker pull mcr.microsoft.com/windows/nanoserver:1809

Immagine di Windows PowerShell.
Dovrai usare il comando pull Docker per estrarre l’immagine.

Sebbene il comando mostrato sopra non sia super intuitivo, la sua follia è metodica. “Mcr.microsoft.com” è il nome del registro dei contenitori Microsoft. L’immagine di base di Nano Server si trova nel percorso di Windows.

Il “:1809” che appare alla fine della finestra mobile è importante. 1809 è la versione di Windows Server 2019 in esecuzione sul mio host Docker. L’aggiunta di 1809 alla finestra mobile indica a Windows di scaricare un’immagine basata sulla versione 1809 di Windows. Senza di essa, probabilmente scaricherai la versione sbagliata e non sarai in grado di creare contenitori dall’immagine.

Lanciato Nano Server

Ora che hai l’immagine di Nano Server che contiene IIS, l’unica cosa da fare è avviare un contenitore basato sull’immagine. Per fare ciò, dovrai conoscere il nome esatto dell’immagine.

  1. Ottieni il nome dell’immagine inserendo questo comando:

Docker ls immagine

Immagine di Windows PowerShell.
Il comando Docker image ls elenca le immagini del contenitore che sono state scaricate.
  1. Avvia il contenitore in base all’immagine. In questo caso il comando è:

Docker esegui -it mcr.microsoft.com/windows/nanoserver:1809

Il -questo parte del comando indica a Windows che si desidera eseguire il comando in modo interattivo, il che provoca l’avvio del contenitore Nano Server e quindi l’apertura di un prompt della riga di comando di Windows all’interno dell’immagine del contenitore.

Immagine di Windows PowerShell.
Ecco come appare il contenitore Nano Server quando è in esecuzione in modo interattivo.

Pensieri finali

Sebbene la creazione di contenitori Nano Server non sia troppo difficile, è necessario scaricare la versione corretta dell’immagine del contenitore. Segui i passaggi descritti sopra per assicurarti di creare un contenitore Nano Server senza intoppi.

Hai altre domande sui contenitori Nano Server? Aspetto Il FAQ e Risorse sezioni seguenti.

FAQ

Perché il comando della versione Docker restituisce un errore?

Se viene visualizzato un messaggio di errore quando si immette il comando della versione Docker, verificare quanto segue. Innanzitutto, assicurati che il servizio Docker sia in esecuzione utilizzando il comando Docker “Start-Service”. Quindi, assicurati di utilizzare una “v” minuscola nella versione della parola. Docker fa distinzione tra maiuscole e minuscole e l’immissione della versione della parola con una “V” maiuscola risulterà in un errore.

Perché viene visualizzato un messaggio di errore che dice che il provider NuGet è necessario?

NuGet scarica e tiene traccia degli aggiornamenti dei pacchetti per gli sviluppatori di software per garantire che vengano utilizzate le dipendenze corrette durante la creazione di soluzioni software. Ti consente anche di accedere ai tuoi pacchetti quando lavori in remoto. È necessario installare NuGet affinché i programmi accedano ai pacchetti NuGet. Gli sviluppatori possono aiutare gli altri creando i propri pacchetti e consentendo ad altri sviluppatori di usarli in NuGet.

Cosa succede se si tenta di avviare un container da un’immagine basata su una versione di Windows diversa da quella in esecuzione sull’host?

Se si tenta di avviare un contenitore dalla versione dell’immagine errata, ad esempio utilizzando un’immagine di base di Windows Server 2016 su un host Windows Server 2019, si riceverà una risposta di errore dal daemon. Il messaggio di errore di solito include il testo “il sistema operativo del contenitore non corrisponde al sistema operativo host”.

Cosa succede se si rimuove la versione del sistema operativo dal nome dell’immagine del contenitore?

La versione del sistema operativo che appare alla fine di un’istanza viene trattata come un tag. Se rimuovi il tag, Windows utilizzerà un tag predefinito chiamato “Latest”. Il tag Ultimo corrisponde alla versione creata più di recente di quella particolare immagine. Nella maggior parte dei casi, l’ultima immagine è basata su Windows Server 2016.

Microsoft sta facendo qualcosa per ridurre il problema della mancata corrispondenza della versione del contenitore?

Secondo Microsoft, non è necessario preoccuparsi del problema della mancata corrispondenza della versione se l’host del contenitore e l’immagine del contenitore eseguono entrambi Windows versione 1809 o successiva, grazie a un approccio di codifica modulare. A tal fine, ha senso verificare se stai lavorando con versioni superiori di queste piattaforme.

Risorse

TechGenix: articolo sulla creazione di immagini di Nano Server in Hyper-V

Scopri come creare immagini di Nano Server legacy in Hyper-V.

TechGenix: articolo sulla distribuzione di Nano Server

Scopri come distribuire Nano Server utilizzando System Center Virtual Machine Manager.

TechGenix: articolo su cos’è Nano Server

Scopri perché Nano Server ha un ingombro così ridotto.

TechGenix: articolo su cosa devi sapere sui server nano

Leggi di più sulle principali cose che devi sapere su Nano Server.

TechGenix: articolo su come configurare un Nano Server

Scopri come configurare Nano Server dopo la distribuzione.

Leave a Reply

Your email address will not be published. Required fields are marked *