Останнє оновлення 10 березня 2020 р., 10:00 за тихоокеанським часом
Ознаки
При використанні контейнерів Windows Server можуть виникати проблеми, якщо хост або образ контейнера мають оновлення системи безпеки від 11 лютого 2020 р., за винятком випадків, коли як хост контейнера Windows, так і образи контейнера Windows Server відповідають оновленню системи безпеки від 11 лютого 2020 р.
Помилки при запуску або створенні контейнера можуть включати наведені далі.
-
При запуску команди "matched with" або "docker build" ви можете не отримати вивід, а система може перестати реагувати на команди.
-
Контейнер Windows Server у Kubernetes не досягає стану "запуску".
-
Відображається повідомлення про помилку "docker: задана поточною інформацією функція видає помилку: під час пуску контейнера <id> виникла помилка: збій системного виклику Windows: час операції очікування сплив. (0x102)".
-
Може виникнути збій 32-розрядної програми або процесів, запущених у контейнері.
Причина
Ця проблема є результатом змін у системі безпеки, які потребували зміни інтерфейсу при переході від користувацького режиму до режиму ядра. Оскільки ізольовані контейнери процесу використовують один і той самий режим ядра з хостом і образами контейнера, компонент користувацького режиму без оновлення був як несумісним, так і небезпечним при використанні нового безпечного інтерфейсу ядра.
Остаточне й тимчасове вирішення
Ми додали новий посібник з оновлення на веб-сайті документації з контейнерів Windows у розділах "Сумісність версій контейнерів Windows" і "Оновлення контейнерів Windows Server". Він також включає докладну інформацію про сумісність і матрицю оновлення. Відомості про конкретні проблеми, перелічені в статті, див. у темах про вирішення та пом’якшення впливу проблеми нижче.
Вирішення проблем "не запускається" та "збої 32-розрядних програм" (ознака 1, 2, 3, 4):
Вісімнадцятого лютого 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:<версія хоста контейнера, наприклад 10.0.17763.1040>
Після зіставлення версій хоста контейнера та образу контейнера ви повинні мати змогу відновити команди контейнера, наприклад "запустити" або "збірка".
Нотатка. У разі виникнення збоїв програм без повідомлень про помилку радимо змінювати лише теги отримання або автоматизацію.
Посилання
У списку нижче наведено версії 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 тут.
Докладніше про контейнери Windows Server див. на веб-сторінці https://aka.ms/containers.