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:
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
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örver
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]