Aggiornare i contenitori di Windows Server

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

Nell'ambito della manutenzione mensile di Windows Server, pubblichiamo immagini aggiornate del contenitore del sistema operativo di base di Windows Server a intervalli regolari. Con questi aggiornamenti, puoi automatizzare la creazione di immagini del contenitore aggiornate o aggiornarle manualmente eseguendo il pull della versione più recente. I contenitori di Windows Server non dispongono di uno stack di manutenzione come Windows Server. Non puoi ottenere gli aggiornamenti all'interno di un contenitore, come avviene con Windows Server. Pertanto, ogni mese le immagini del contenitore del sistema operativo di base di Windows Server vengono ricompilate con gli aggiornamenti e vengono pubblicate aggiornate.

Le altre immagini del contenitore, ad esempio .NET o IIS, verranno ricompilate in base alle immagini aggiornate del contenitore del sistema operativo di base e pubblicate mensilmente.

Come ottenere gli aggiornamenti del contenitore di Windows Server

Aggiorniamo le immagini del contenitore del sistema operativo di base di Windows Server in linea con la frequenza di manutenzione di Windows. Le immagini del contenitore aggiornate vengono pubblicate il secondo martedì di ogni mese, a cui si fa a volte riferimento come versione "B", con un numero di prefisso basato sul mese di rilascio. Ad esempio, chiamiamo l'aggiornamento di febbraio "2B" e l'aggiornamento di marzo "3B". Questo evento di aggiornamento mensile è l'unica versione regolare che include nuove correzioni di sicurezza.

Il server che ospita questi contenitori, denominato host contenitore o semplicemente host, può essere soggetto a manutenzione durante altri eventi di aggiornamento diversi dalle versioni "B". Per altre informazioni, vedi il post di blog sulla frequenza di manutenzione dell'aggiornamento di Windows.

Le nuove immagini del contenitore del sistema operativo di base di Windows Server sono disponibili subito dopo le ore 10:00 PST il secondo martedì di ogni mese nel Registro contenitori di Microsoft e i tag in primo piano sono destinati alla versione B più recente. Alcuni esempi includono:

  • ltsc2019 (LTSC): docker pull mcr.microsoft.com/windows/servercore:ltsc2019
  • 1909 (SAC): docker pull mcr.microsoft.com/windows/servercore:1909

Se hai più familiarità con Docker Hub rispetto al Registro contenitori di Microsoft, questo post di blog ti fornirà una spiegazione più dettagliata.

Per ogni versione, l'immagine del contenitore corrispondente viene anche pubblicata con due tag aggiuntivi relativi al numero di revisione e al numero dell'articolo della Knowledge Base che fanno riferimento a revisioni specifiche dell'immagine del contenitore. Ad esempio:

  • docker pull mcr.microsoft.com/windows/servercore:10.0.17763.1040
  • docker pull mcr.microsoft.com/windows/servercore:1809-KB4546852

Questi esempi eseguono il pull dell'immagine del contenitore di Server Core di Windows Server 2019 con l'aggiornamento della versione di sicurezza del 18 febbraio.

Per un elenco completo delle immagini, delle versioni e dei rispettivi tag del contenitore del sistema operativo di base di Windows Server, vedere le risorse seguenti nell'hub Docker:

Le immagini di Windows Server con manutenzione mensile rilasciate in Azure Marketplace da Microsoft includono anche immagini del contenitore del sistema operativo di base preinstallate. Per altre informazioni, leggi la pagina dei prezzi di Azure Marketplace per Windows Server. In genere, aggiorniamo queste immagini circa cinque giorni lavorativi dopo la versione "B".

Per un elenco completo di immagini e versioni di Windows Server, vedi Windows Server release on Azure Marketplace update history (Cronologia degli aggiornamenti della versione di Windows Server in Azure Marketplace).

Compatibilità delle versioni del contenitore e dell'host

Esistono due tipi di modalità di isolamento per i contenitori windows: isolamento del processo e isolamento Hyper-V. L'isolamento Hyper-V è più flessibile per quanto riguarda la compatibilità delle versioni di host e contenitori. Per altre informazioni, vedi Compatibilità delle versioni e Modalità di isolamento. Questa sezione è incentrata sui contenitori con isolamento del processo, a meno che non sia specificato diversamente.

Quando si esegue l'aggiornamento mensile dell'host contenitore o dell'immagine del contenitore, purché l'immagine dell'host e del contenitore siano entrambe supportate (Windows Server versione 1809 o successive), le revisioni dell'immagine dell'host e del contenitore non devono corrispondere affinché il contenitore possa essere avviato ed eseguito normalmente.

Quando usi i contenitori di Windows Server con la versione di aggiornamento della sicurezza dell'11 febbraio 2020, detta anche "2B", o versioni mensili di aggiornamento della sicurezza successive, potresti tuttavia riscontrare dei problemi. Per altre informazioni, vedi questo articolo del Supporto tecnico Microsoft. Questi problemi sono causati da una modifica della sicurezza che richiede la modifica di un'interfaccia tra la modalità utente e la modalità kernel per garantire la sicurezza delle applicazioni. Questi problemi si verificano solo nei contenitori con isolamento del processo perché questi ultimi condividono la modalità kernel con l'host contenitore. Ciò significa che le immagini del contenitore senza il componente della modalità utente aggiornato non sono sicure e non sono compatibili con la nuova interfaccia kernel protetta.

Abbiamo rilasciato una correzione a partire dal 18 febbraio 2020. Questa nuova versione ha stabilito una "nuova baseline". Questa nuova baseline segue queste regole:

  • Qualsiasi combinazione di host e contenitori entrambi precedenti all'aggiornamento 2B funzionerà.
  • Qualsiasi combinazione di host e contenitori entrambi successivi all'aggiornamento 2B funzionerà.
  • Qualsiasi combinazione di host e contenitori su diversi lati della nuova baseline non funzionerà. Ad esempio, un host 3B e un contenitore 1B non funzioneranno.

Per illustrare il funzionamento di queste nuove regole di compatibilità, usiamo come esempio la versione di aggiornamento della sicurezza mensile di marzo 2020. Nella tabella seguente, la versione di aggiornamento della sicurezza di marzo 2020 è denominata "3B", l'aggiornamento di febbraio 2020 è denominato "2B" e l'aggiornamento di gennaio 2020 è denominato "1B".

Host Contenitore Compatibilità
3B 3B
3B 2B
3B 1B o aggiornamenti precedenti No
2B 3B
2B 2B
2B 1B o aggiornamenti precedenti No
1B o aggiornamenti precedenti 3B No
1B o aggiornamenti precedenti 2B No
1B o aggiornamenti precedenti 1B o aggiornamenti precedenti

Come riferimento, la tabella seguente elenca i numeri di versione per le immagini del contenitore del sistema operativo di base con le versioni dell'aggiornamento della sicurezza mensile 1B, 2B e 3B per le diverse versioni principali del sistema operativo da Windows Server 2016 alla versione più recente di Windows Server, versione 1909.

Versione di Windows Server (tag mobile) Versione di aggiornamento per la versione 14/01/20 (1B) Versione di aggiornamento per la versione 18/02/20 (2B) Versione di aggiornamento per la versione 10/03/20 (3B)
Windows Server 2016 (ltsc2016) 10.0.14393.3443 (KB4534271) 10.0.14393.3506 (KB4546850) 10.0.14393.3568 (KB4551573)
Windows Server, versione 1803 (1803) 10.0.17134.1246 (KB4534293) 10.0.17134.1305 (KB4546851) Questa versione ha raggiunto la fine del supporto. Per altre informazioni, vedi Cicli di vita di manutenzione delle immagini di base.
Windows Server, versione 1809 (1809) 10.0.17763.973 (KB4534273) 10.0.17763.1040 (KB4546852) 10.0.17763.1098 (KB4538461)
Windows Server 2019 (ltsc2019) 10.0.17763.973 (KB4534273) 10.0.17763.1040 (KB4546852) 10.0.17763.1098 (KB4538461)
Windows Server, versione 1903 (1903) 10.0.18362.592 (KB4528760) 10.0.18362.658 (KB4546853) 10.0.18362.719 (KB4540673)
Windows Server, versione 1909 (1909) 10.0.18363.592 (KB4528760) 10.0.18363.658 (KB4546853) 10.0.18363.719 (KB4540673)

Risolvere i problemi relativi a immagini dell'host e del contenitore non corrispondenti

Prima di iniziare, assicurati di acquisire familiarità con le informazioni contenute in Compatibilità delle versioni. Queste informazioni ti consentono di determinare se il problema è stato causato dalla mancata corrispondenza delle patch. Una volta stabilita la mancata corrispondenza delle patch come causa, puoi seguire le istruzioni riportate in questa sezione per risolvere il problema.

Eseguire una query sulla versione dell'host contenitore

Se puoi accedere all'host contenitore, puoi eseguire il comando ver per ottenerne la versione del sistema operativo. Se, ad esempio, esegui ver in un sistema che esegue Windows Server 2019 con la versione di aggiornamento della sicurezza di febbraio 2020 più recente, noterai quanto segue:

Microsoft Windows [Version 10.0.17763.1039]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\>ver

Microsoft Windows [Version 10.0.17763.1039]

Nota

Il numero di revisione in questo esempio viene visualizzato come 1039, non 1040, perché la versione di aggiornamento della sicurezza di febbraio 2020 non ha una versione 2B fuori banda per Windows Server. È disponibile solo una versione 2B fuori banda per i contenitori, che ha un numero di revisione pari a 1040.

Se non si ha accesso diretto all'host del contenitore, rivolgersi all'amministratore IT. Se si esegue nel cloud, controllare il sito Web del provider di servizi cloud per scoprire quale versione del sistema operativo host del contenitore è in esecuzione. Ad esempio, se usi il servizio Azure Kubernetes (AKS), puoi trovare la versione del sistema operativo host nelle note sulla versione di AKS.

Eseguire una query sulla versione dell'immagine del contenitore

Per individuare la versione in esecuzione nel contenitore, segui queste istruzioni:

  1. Esegui il cmdlet seguente in PowerShell:

    docker images
    

    L'output dovrebbe essere simile al seguente:

    REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
    mcr.microsoft.com/windows/servercore   ltsc2019            b456290f487c        4 weeks ago         4.84GB
    mcr.microsoft.com/windows              1809                58229ca44fa7        4 weeks ago         12GB
    mcr.microsoft.com/windows/nanoserver   1809                f519d4f3a868        4 weeks ago         251M
    
    
  2. Eseguire il docker inspect comando per l'ID immagine dell'immagine del contenitore che non funziona. In questo modo verrà indicare la versione di destinazione dell'immagine del contenitore.

    Si supponga run docker inspect , ad esempio, di usare un'immagine del contenitore ltsc 2019:

    docker inspect b456290f487c
    
        "Architecture": "amd64",
    
         "Os": "windows",
    
         "OsVersion": "10.0.17763.1039",
    
         "Size": 4841309825,
    
         "VirtualSize": 4841309825,
    

    In questo esempio, la versione del sistema operativo del contenitore viene visualizzata come 10.0.17763.1039.

    Se stai già eseguendo un contenitore, puoi eseguire anche il comando ver all'interno del contenitore stesso per ottenere la versione. Ad esempio, l'esecuzione di ver in un'immagine del contenitore Server Core di Windows Server 2019 con la versione dell'aggiornamento della sicurezza di febbraio 2020 più recente visualizzerà quanto segue:

    Microsoft Windows [Version 10.0.17763.1040]
    (c) 2020 Microsoft Corporation. All rights reserved.
    
    C:\>ver
    
    Microsoft Windows [Version 10.0.17763.1040]