Zuletzt aktualisiert am 10. März 2020 um 10:00 Uhr PST
Problembeschreibung
Bei Verwendung von Windows Server-Containern können Probleme auftreten, wenn der Containerhost oder das Containerimage über das Sicherheitsupdate vom 11. Februar 2020 verfügt, es sei denn, sowohl der Windows-Containerhost als auch das Windows Server-Containerimage weisen das Sicherheitsupdate vom 11. Februar 2020 auf.
Mögliche Symptomen beim Ausführen oder Erstellen eines Containers:
-
Wenn Sie den Befehl „docker run“ oder „docker build“ ausführen, erhalten Sie möglicherweise keine Befehlsausgabe und der Befehl reagiert möglicherweise nicht mehr.
-
Ihr Windows Server-Container in Kubernetes erreicht nicht den Status „running“ (wird ausgeführt).
-
Sie erhalten die sinngemäße Fehlermeldung „docker: Fehlerantwort von daemon: Container <id> hat beim Start einen Fehler festgestellt: Fehler bei einem Windows-Systemaufruf: Der Wartevorgang wurde abgebrochen. (0x102).“
-
Ihre 32-Bit-Anwendung oder Prozesse, die innerhalb des Containers ausgeführt werden, schlagen möglicherweise automatisch fehl.
Ursache
Dieses Problem war das Ergebnis einer Sicherheitsänderung, die einen Schnittstellenwechsel zwischen Benutzermodus und Kernelmodus erforderte. Da prozessisolierte Container den Kernelmodus mit dem Containerhost und den Containerimages gemeinsam nutzen, war ohne das Update die Benutzermoduskomponente mit der neuen gesicherten Kernelschnittstelle sowohl inkompatibel als auch ungesichert.
Lösung und Problemumgehung
Wir haben neue Aktualisierungsanleitungen für die Windows Container Docs-Website in den Abschnitten Versionskompatibilität von Windows-Containern und Aktualisieren von Windows Server-Containern hinzugefügt. Dazu gehören auch Details zur Updatekompatibilität und -matrix. Weitere Informationen zu den in diesem Artikel aufgeführten spezifischen Problemen finden Sie in der unten stehenden Lösung und Risikominderung.
Lösung für „nicht ausgeführt“ und „32-Bit-Anwendungen schlagen automatisch fehl“ (Symptom 1, 2, 3, 4):
Am 18. Februar 2020 wurden aktualisierte Containerimages veröffentlicht, um die in diesem Artikel beschriebenen Probleme mit Symptomen (1,2,3,4) zu beheben. Wenn diese Probleme auftreten, empfehlen wir Ihnen, Ihren Containerhost auf die Sicherheitsupdateversion vom 11. Februar 2020 und die am 18. Februar 2020 veröffentlichten Containerimages zu aktualisieren. Hinweis Die Version vom 18. Februar 2020 ist nur für Containerimages vorgesehen. Die Sicherheitsupdates vom 11. Februar 2020 sind immer noch die neuesten Sicherheitsupdates für den Containerhost.
Um das Problem in Ihrer Umgebung zu beheben, führen Sie den Pull-Befehl erneut aus, um die Windows Server-Basisbetriebssystemimages oder das entsprechende Containerimage wie IIS oder .NET zu aktualisieren, und führen Sie Ihre Automatisierungspipeline erneut aus, um Ihre Container unter Verwendung der Containerimages mit dem Containerimage vom 18. Februar 2020 neu zu erstellen.
Wichtig Wenn Sie Ihre Pull-Tags oder die Automatisierung als Problemumgehung für die Probleme in diesem Artikel geändert haben, sollten Sie die Änderungen an Ihren vorherigen Pull-Tags rückgängig machen. Sie sollten keine bestimmte Version mehr verwenden müssen.
Risikominderung für „32-Bit-Anwendungen schlagen automatisch fehl“ (Symptom 4):
Es wird dringend empfohlen, den Containerhost wie oben beschrieben auf das Sicherheitsupdate vom 11. Februar 2020 zu aktualisieren. Wenn Sie den Containerhost nicht auf die Sicherheitsupdates vom 11. Februar 2020 aktualisieren können, müssen Sie die Build- und Revisionsversion des Containerimages mit der Build- und Revisionsversion Ihres Containerhost-Betriebssystems abgleichen. Anweisungen zum Überprüfen der Version Ihres Containerhosts finden Sie in diesem Artikel. Sobald Sie die Version Ihres Containerhosts kennen, können Sie die Containerimageversion mit dem folgenden Befehl abrufen (Sie müssen das Windows Server-Basisbetriebssystemimage und die Windows Server-Version entsprechend Ihrer Umgebung anpassen). Wenn Sie beispielsweise den Windows Server Core-Container verwenden:
docker pull mcr.microsoft.com/windows/servercore:<version your container host, such as 10.0.17763.1040>
Nachdem die Containerhost- und Containerimageversionen übereinstimmen, sollten Sie in der Lage sein, die Containerbefehle wie „run“ oder „build“ fortzusetzen.
Hinweis Wir empfehlen, Ihre Pull-Tags oder die Automatisierung nur dann zu ändern, wenn Anwendungen automatisch fehlschlagen.
Informationsquellen
Die nachfolgende Liste enthält die Windows Server-Versionen, für die wir Containerimages unterstützen, zusammen mit den Versionsnummern für die Sicherheitsupdates, die am 14. Januar 2020 und 11. Februar 2020 veröffentlicht wurden, und für die Veröffentlichung (nur Containerimage) vom 18. Februar 2020. Die unten aufgeführten Containerimages, die am 18. Februar 2020 veröffentlicht wurden, werden automatisch heruntergeladen, wenn Sie die Version in Ihren Floating-Tags nicht angeben.
Version von Windows Server (Versionsnummer in Klammern) |
Versionsnummer für das Update vom 14. Januar 2020 |
Versionsnummer für das Update vom 11. Februar 2020 |
Versionsnummer für das Update vom 18. Februar 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 |
Wenn Sie Azure Marketplace Virtual Machine-Images mit Containern verwenden, sind die Images vom Februar 2020 jetzt verfügbar. Die oben beschriebenen Probleme oder Symptome sollten bei Verwendung dieser Images nicht auftreten. Weitere Informationen finden Sie unter KB4540981.
Eine vollständige Liste der Windows-Containerimages finden Sie hier auf der Docker Hub-Webseite.
Ausführlichere Informationen zu Windows Server-Containern finden Sie unter https://aka.ms/containers.