Dela via


Uppdatera Windows Server-containrar

Gäller för: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Som en del av servicen av Windows Server varje månad publicerar vi regelbundet uppdaterade Windows Server Base OS-containeravbildningar. Med dessa uppdateringar kan du automatisera skapandet av uppdaterade containeravbildningar eller uppdatera dem manuellt genom att hämta den senaste versionen. Windows Server-containrar har ingen servicestacken som Windows Server. Du kan inte hämta uppdateringar i en container som du gör med Windows Server. Därför återskapar vi containeravbildningarna för Windows Server Base OS varje månad med uppdateringarna och publicerar de uppdaterade containeravbildningarna.

Andra containeravbildningar, till exempel .NET eller IIS, återskapas baserat på de uppdaterade base OS-containeravbildningarna och publiceras varje månad.

Så här hämtar du windows server-containeruppdateringar

Vi uppdaterar Windows Server Base OS-containeravbildningar i enlighet med Windows-underhållstakt. Uppdaterade containeravbildningar publiceras den andra tisdagen i varje månad, som vi ibland kallar vår "B"-version, med ett prefixnummer baserat på versionsmånaden. Vi kallar till exempel vår februariuppdatering för "2B" och vår marsuppdatering "3B". Den här månatliga uppdateringshändelsen är den enda vanliga versionen som innehåller nya säkerhetskorrigeringar.

Servern som är värd för dessa containrar, som kallas containervärden eller bara "värden", kan betjänas under ytterligare uppdateringshändelser förutom "B"-versioner. För mer information om underhållstakten för Windows Update, se vårt blogginlägg där månatliga Windows-uppdateringar beskrivs.

Om du är mer bekant med Docker Hub än MCR det här blogginlägget ger dig en mer detaljerad förklaring.

En fullständig lista över Windows Server Base OS-containeravbildningar, versioner och deras respektive taggar finns i följande resurser på Docker Hub:

Månatliga Windows Server-avbildningar som släppts på Azure Marketplace av Microsoft levereras också med förinstallerade Base OS-containeravbildningar. Mer information finns på prissidan Windows Server Azure Marketplace. Vi uppdaterar vanligtvis dessa avbildningar ungefär fem arbetsdagar efter "B"-versionen.

För en fullständig lista över Windows Server-avbildningar och versioner, se Windows Server-utgåvor i uppdateringshistorik för Azure Marketplace.

Kompatibilitet för värd- och containerversion

Det finns två typer av isoleringslägen för Windows-containrar: Processisolering och Hyper-V isolering. Hyper-V isolering är mer flexibel när det gäller värd- och containerversionskompatibilitet. Mer information finns i Versionskompatibilitet och isoleringslägen. Det här avsnittet fokuserar på processisolerade containrar om inget annat anges.

När du uppdaterar containervärden eller containeravbildningen med månatliga uppdateringar, så länge både värd- och containeravbildningarna stöds (Windows Server version 1809 eller senare) behöver revisionerna av värd- och containeravbildningarna inte matcha för att containern ska kunna starta och köras normalt.

Du kan dock stöta på problem när du använder Windows Server-containrar med säkerhetsuppdateringsversionen den 11 februari 2020 (kallas även "2B") eller senare månatliga säkerhetsuppdateringsversioner. Mer information finns i den här Microsoft Support-artikeln. De här problemen berodde på en säkerhetsändring som krävde att ett gränssnitt mellan användarläge och kernelläge skulle ändras för att säkerställa säkerheten för dina program. Dessa problem inträffar bara på processisolerade containrar eftersom processisolerade containrar delar kernelläget med containervärden. Det innebär att containeravbildningar utan den uppdaterade komponenten för användarläge var oskyddade och inkompatibla med det nya skyddade kernelgränssnittet.

Vi har släppt en korrigering från och med den 18 februari 2020. Den här nya versionen har upprättat en "ny baslinje". Den här nya baslinjen följer dessa regler:

  • Alla kombinationer av värdar och containrar som båda är före 2B fungerar.
  • Alla kombinationer av värdar och containrar som båda är efter 2B fungerar.
  • Alla kombinationer av värdar och containrar på olika sidor av den nya baslinjen fungerar inte. Till exempel fungerar inte en 3B-värd och en 1B-container.

Vi använder månadsversionen av säkerhetsuppdateringen mars 2020 som ett exempel för att visa hur dessa nya kompatibilitetsregler fungerar. I följande tabell kallas säkerhetsuppdateringsversionen för mars 2020 för "3B", uppdateringen i februari 2020 är "2B" och uppdateringen från januari 2020 är "1B".

Värd Behållare Kompatibilitet
3B 3B Ja
3B 2B Ja
3B 1B eller tidigare Nej
2B 3B Ja
2B 2B Ja
2B 1B eller tidigare Nej
1B eller tidigare 3B Nej
1B eller tidigare 2B Nej
1B eller tidigare 1B eller tidigare Ja

Felsöka inkompatibiliteter mellan värd- och containeravbildningar

Innan du börjar måste du bekanta dig med informationen i Versionskompatibilitet. Informationen hjälper dig att ta reda på om problemet orsakades av mismatchande uppdateringar. När du har fastställt att felaktigt matchade korrigeringar är orsaken kan du följa anvisningarna i det här avsnittet för att felsöka problemet.

Kontrollera versionen av din containervärd

Om du har åtkomst till containervärden kan du köra kommandot ver för att hämta versionen av dess operativsystem. Om du till exempel kör ver på ett system som kör Windows Server 2019 med den senaste versionen av säkerhetsuppdateringen i februari 2020 ser du följande:

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

C:\>ver

Microsoft Windows [Version 10.0.17763.1039]

Not

Revisionsnumret i det här exemplet visas som 1039, inte 1040, eftersom säkerhetsuppdateringsversionen från februari 2020 inte hade en out-of-band 2B-version för Windows Server. Det fanns endast en out-of-band 2B-version för containrar, som hade ett revisionsnummer på 1040.

Om du inte har direkt åtkomst till containervärden kan du kontakta IT-administratören. Om du kör i molnet kontrollerar du molnleverantörens webbplats för att ta reda på vilken version av containerns värdoperativsystem de kör. Om du till exempel använder Azure Kubernetes Service (AKS) hittar du värdoperativsystemets version i AKS-versionanteckningar.

Kontrollera versionen av din containeravbildning

Följ de här anvisningarna för att ta reda på vilken version containern kör:

  1. Kör följande cmdlet i PowerShell:

    docker images
    

    Utdata bör se ut ungefär så här:

    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. Kör kommandot docker inspect för image-ID:t för containerbilden som inte fungerar. Då visas vilken version containeravbildningen är riktad mot.

    Anta till exempel att vi använder run docker inspect för en ltsc 2019-containerbild:

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

    I det här exemplet visas containerns operativsystemversion som 10.0.17763.1039.

    Om du redan kör en container kan du också köra kommandot ver i själva containern för att hämta versionen. Om du till exempel kör ver i en Server Core-containeravbildning av Windows Server 2019 med den senaste versionen av säkerhetsuppdateringen i februari 2020 visas följande:

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