Може да срещнете проблеми, когато използвате контейнери на Windows Server с изданието на актуализацията на защитата от 11 февруари 2020 г.

Отнася се за
Windows 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

Последна актуализация 10 март 2020 г. 10:00 ч. PST

Симптоми

Може да срещнете проблеми при използването на контейнери на Windows Server, ако хостът на контейнера или изображението на контейнера има актуализацията на защитата от 11 февруари 2020 г., освен ако както хостът на контейнера на Windows, така и изображенията на контейнерите на Windows Server са съпоставени с актуализацията на защитата от 11 февруари 2020 г.

Симптомите при изпълнение или създаване на контейнер може да включват:

  1. Когато изпълните командата "docker run" или "docker build", е възможно да не получите резултат и тя може да спре да отговаря.
  2. Контейнерът на Windows Server в Kubernetes не достига състоянието на изпълнение.
  3. Получавате грешката "docker: Error response from daemon: <container> id the error during Start: failure in a Windows system call: Времето на изчакване на операцията изтече. (0x102)".
  4. Вашето 32-битово приложение или процеси, изпълнявани в контейнера, може да са неуспешни без предупреждение.

Причина

Този проблем е резултат от промяна на защитата, която изискваше промяна в интерфейса между потребителски режим и режим на ядрото. Тъй като изолираните от процеси контейнери споделят режима на ядрото с хоста на контейнера и изображенията на контейнера, компонентът в потребителски режим без актуализацията е както несъвместим, така и незащитен с новия защитен интерфейс на ядрото.

Решение и заобиколно решение

Добавихме нови указания за актуализиране на сайта "Документи на контейнери на Windows", в разделите за съвместимост на версия на контейнер на Windows и актуализиране на контейнери на Windows Server.  Това включва също подробности за съвместимостта на актуализациите и матрицата.  За информация относно конкретните проблеми, изброени в тази статия, вижте решението и смекчаването им по-долу.

Решение за проблеми от типа "не се изпълнява" и "32-битовите приложения безшумно се провалят" (симптом 1, 2, 3, 4):

На 18 февруари 2020 г. бяха пуснати актуализирани изображения на контейнери за справяне с проблемите със симптоми (1,2,3,4) в тази статия.  Ако се сблъскате с тези проблеми, препоръчваме да актуализирате хоста на контейнера си до изданието на актуализацията на защитата от 11 февруари 2020 г. и изображенията на контейнера, издадени на 18 февруари 2020 г.   Забележка Изданието от 18 февруари 2020 г. е само за изображения в контейнер.  Актуализациите на защитата от 11 февруари 2020 г. все още са най-новите за хоста на контейнера.

За да разрешите проблема във вашата среда, изпълнете отново командата за изтегляне, за да актуализирате изображенията на базовата ОС на Windows Server или приложимото изображение на контейнер, като например IIS или .NET, и изпълнете отново конвейера за автоматизация, за да създадете отново вашите контейнери, като използвате изображенията на контейнера с изображението на контейнера от 18 февруари 2020 г.

Важно Ако сте променили етикетите за извличане или автоматизацията като заобиколно решение за проблемите в тази статия, трябва да върнете промените към предишните етикети за извличане.  Вече не би трябвало да се налага да използвате конкретна версия.

Смекчаване на проблема "32-битови приложения тихо се провалят" (симптом 4):

Настоятелно препоръчваме да актуализирате хоста на контейнера към актуализацията на защитата от 11 февруари 2020 г., както е описано по-горе. Ако не можете да актуализирате хоста на контейнера към актуализациите на защитата от 11 февруари 2020 г., ще трябва да съпоставите версията на компилацията и редакцията на изображението на контейнера с версията на компилацията и версията на редакцията на вашата операционна система на контейнер.  За инструкции как да проверите версията на хоста на контейнера вижте тази статия. След като имате версията от хоста на контейнера, можете да издърпате версията на изображението на контейнера с помощта на следната команда (ще трябва да настроите базовия образ и версия на ОС на Windows Server, както се прилага във вашата среда). Например ако използвате контейнер Windows Server Core:

docker pull mcr.microsoft.com/windows/servercore:<version your container host, such as 10.0.17763.1040>

След като версиите на хоста и изображението на контейнера съвпаднат, би трябвало да можете да подновите командите на контейнера, като например run или build.

Забележка Препоръчваме да променяте етикетите за изтегляне или автоматизацията само ако се сблъсквате с тихо неуспешно изпълнение на приложения.

Справки

Списъкът по-долу показва версиите на Windows Server, за които поддържаме изображения на контейнери, както и номерата на версиите за актуализациите на защитата, издадени на 14 януари 2020 г. и 11 февруари 2020 г., и изданието само на изображението на контейнера на 18 февруари 2020 г.  Изображенията на контейнер, издадени на 18 февруари 2020 г., изброени по-долу, ще бъдат изтеглени автоматично, ако не зададете версия в плаващи етикети.

Версия на Windows Server (плаващ етикет) Версия на актуализацията за изданието от 14 януари 2020 г. Версия на актуализацията за 11 февруари 2020 г. Версия на актуализацията за 18 февруари 2020 г.
Windows Server 2016 (ltsc2016) 10.0.14393.3443 10.0.14393.3504 10.0.14393.3506
Windows Server, версия 1803 (1803) 10.0.17134.1246 10.0.17134.1304 10.0.17134.1305
Windows Server 2019 (ltsc2019)
Windows Server, версия 1809 (1809)
10.0.17763.973 10.0.17763.1039 10.0.17763.1040
Windows Server, версия 1903 (1903) 10.0.18362.592 10.0.18362.657 10.0.18362.658
Windows Server, версия 1909 (1909) 10.0.18363.592 10.0.18363.657 10.0.18363.658

Ако използвате изображения на виртуална машина на пазара на Azure с контейнери, вече са налични изображенията от февруари 2020 г. Не би трябвало да срещнете проблемите или симптомите по-горе, когато използвате тези изображения.  За повече информация вижте KB4540981.

За пълен списък на изображение на контейнер на Windows вижте страницата на Docker Hub тук.

За по-подробна информация относно Windows Server контейнери вижте https://aka.ms/containers.