Applies ToWindows Server 2016, all editions Windows Server 2019, all editions Windows Server version 1803 Windows Server version 1809 Windows Server, version 1903, all editions Windows Server, version 1909, all editions

Senast uppdaterad 10 mars 2020 19:00

Symtom

Du kan stöta på problem med Windows Server-behållare om behållarvärden eller behållaravbildningen har säkerhetsuppdateringen från 11 februari 2020, såvida inte både Windows-behållarvärden och Windows Server-containeravbildningarna matchar säkerhetsuppdateringen från 11 februari 2020. 

Exempel på symptom när du kör eller skapar en behållare: 

  1. När du kör kommandot "docker run" eller "docker build" kanske du inte får några utdata och den kan sluta svara.

  2. Din Windows Server-behållare i Kubernetes når inte körningstillståndet.

  3. Du får felmeddelandet “docker: Felsvar från daemon: behållare <id> har påträffat ett fel under start: fel i ett Windows-systemanrop: Tidsgränsen för vänteåtgärden överskreds. (0x102)". 

  4. Dina 32-bitarsprogram eller -processer som körs inuti behållaren kan misslyckas utan felmeddelande.

Orsak

Det här problemet beror på att det har gjorts en säkerhetsändring som krävde en gränssnittsändring mellan användarläge och kernelläge. Eftersom behållare med isolerade processer delar kernelläge med behållarvärden och behållaravbildningarna var användarlägeskomponenten som inte hade uppdateringen både inkompatibel och oskyddad med det nya skyddade kernelgränssnittet.

Lösning

Vi har lagt till ny uppdateringsvägledning på webbplatsen med dokument om Windows-behållare i avsnitten Versionskompatibilitet för Windows-behållare och Uppdatera Windows Server-behållare. Detta omfattar även information om uppdateringskompatibilitet och matris. Information om specifika problem finns i lösningsavsnittet i den här artikeln.

 

Lösning för problemen "körs inte" och "32-bitarsprogram misslyckas utan felmeddelande" (symptom 1, 2, 3, 4):

18 februari 2020 släpptes uppdaterade behållaravbildningar för att åtgärda problem med symptomen (1,2,3,4) i den här artikeln.  Om du stöter på dessa problem rekommenderar vi att du uppdaterar din behållarvärd till säkerhetsuppdateringen från 11 februari 2020 och behållaravbildningarna som släpptes 18 februari 2020.  Obs! Versionen som gavs ut 18 februari 2020 är endast för behållaravbildningar.  Säkerhetsuppdateringarna från 11 februari 2020 är fortfarande de senaste säkerhetsuppdateringarna för behållarvärden. 

Du kan lösa problemet i din miljö genom att köra pull-kommandot igen för att uppdatera bas-OS-avbildningar för Windows Server eller din behållaravbildning, till exempel IIS eller .NET, och köra automatiseringspipelinen på nytt för att återskapa dina behållare med hjälp av behållaravbildningarna med behållaravbildningen från 18 februari 2020. 

Viktigt! Om du har ändrat dina pull-taggar eller din automation för att lösa problemen i den här artikeln måste du återställa dina ändringar till dina tidigare pull-taggar. Du ska inte längre behöva använda en specifik version. 

Lösning för problemet "32-bitarsprogram misslyckas utan felmeddelande" (symptom 4):

Vi rekommenderar starkt att du uppdaterar behållarvärden till säkerhetsuppdateringen från 11 februari 2020 enligt beskrivningen ovan. Om du inte kan uppdatera behållarvärden till säkerhetsuppdateringarna från 11 februari 2020 måste du matcha build- och revisionsversionen för behållaravbildningen med build- och revisionsversionen för behållarvärdens operativsystem.  Instruktioner för hur du kontrollerar versionen för behållarvärden finns i den här artikeln. När du vet versionen för behållarvärden kan du hämta behållaravbildningsversionen med hjälp av följande kommando (du måste ändra bas-OS-avbildningen för Windows Server och versionen i enlighet med din miljö). Om du till exempel använder Windows Server Core-behållare:

docker pull mcr.microsoft.com/windows/servercore:<versionen för din behållarvärd, till exempel 10.0.17763.1040>

När versionerna för din behållarvärd och dina behållaravbildningar matchar varandra ska du kunna återuppta behållarkommandon som run eller build.

Obs! Vi rekommenderar att du bara ändrar dina pull-taggar eller din automation om appar misslyckas utan felmeddelande.

Referenser

Listan nedan visar de Windows Server-versioner för vilka vi stöder behållaravbildningar tillsammans med versionsnumren för de säkerhetsuppdateringar som släpptes 14 januari 2020 och 11 februari 2020 samt versionen från 18 februari 2020 (endast behållaravbildning).  Behållaravbildningarna från 18 februari 2020 som anges nedan hämtas automatiskt om du inte anger version i dina flytande taggar. 

Windows Server-version (flytande tagg)

Uppdateringsversion för versionen från 14 januari 2020

Uppdateringsversion för 11 februari 2020

Uppdateringsversion för 18 februari 2020

Windows Server 2016 (ltsc2016)

10.0.14393.3443

10.0.14393.3504

10.0.14393.3506

Windows Server version 1803 (1803)

10.0.17134.1246

10.0.17134.1304

10.0.17134.1305

Windows Server 2019 (ltsc2019) Windows Server version 1809 (1809)

10.0.17763.973

10.0.17763.1039

10.0.17763.1040

Windows Server version 1903 (1903)

10.0.18362.592

10.0.18362.657

10.0.18362.658

Windows Server version 1909 (1909)

10.0.18363.592

10.0.18363.657

10.0.18363.658

 

Om du använder Azure Marketplace Virtual Machine-avbildningar med behållare är februari 2020-avbildningarna nu tillgängliga. Du bör inte stöta på problemen eller symptomen som anges ovan när du använder dessa avbildningar. Mer information finns i KB4540981.

En fullständig lista över Windows-behållaravbildningar finns här (Docker Hub-sida).

Mer detaljerad information om Windows Server-behållare finns på https://aka.ms/containers.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.