Обновление контейнеров Windows Server
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
В рамках ежемесячного обслуживания Windows Server мы регулярно публикуем обновленные базовые образы контейнеров ОС Windows Server. С этими обновлениями вы можете автоматизировать создание обновленных образов контейнеров или обновить их вручную, установив последнюю версию. Контейнеры Windows Server не имеют стека обслуживания, как Windows Server. Вы не можете получать обновления внутри контейнера, как в случае с Windows Server. Таким образом каждый месяц мы перестраиваем базовые образы контейнеров ОС Windows Server с обновлениями и публикуем обновленные образы контейнеров.
Другие образы контейнеров (например, .NET или IIS) будут перестраиваться на основе обновленных базовых образов контейнеров ОС и публиковаться ежемесячно.
Получение обновлений контейнера Windows Server
Мы обновляем базовые образы контейнеров ОС Windows Server в соответствии с частотой обслуживания Windows. Обновленные образы контейнеров публикуются во второй вторник каждого месяца, который мы иногда называем выпуском B, с префиксным номером в зависимости от месяца выпуска. Например, февральское обновление мы называем 2B, а мартовское — 3B. Это ежемесячное обновление является единственным регулярным выпуском, который содержит новые исправления для системы безопасности.
Обслуживание сервера, на котором размещены эти контейнеры, называемого узлом контейнера или просто "узлом", может осуществляться во время дополнительных событий обновления, отличных от выпусков B. Дополнительные сведения о частоте выпуска обновлений Windows см. в этой записи блога.
Новые базовые образы контейнеров ОС Windows Server выходят вскоре после 10:00 по тихоокеанскому времени во второй вторник каждого месяца в Реестре контейнеров Майкрософт (MCR), а рекомендуемые теги предназначены для самого последнего выпуска B. Некоторыми примерами могут служить:
- ltsc2019 (LTSC): docker pull mcr.microsoft.com/windows/servercore:ltsc2019.
- 1909 (SAC): docker pull mcr.microsoft.com/windows/servercore:1909.
Если вы больше знакомы с Docker Hub, чем с MCR, просмотрите эту запись блога, чтобы получить более подробные объяснения.
В каждом выпуске соответствующий образ контейнера также публикуется с двумя дополнительными тегами для номера редакции и номера статьи базы знаний для нацеливания на конкретные редакции образа контейнера. Например:
- docker pull mcr.microsoft.com/windows/servercore:10.0.17763.1040.
- docker pull mcr.microsoft.com/windows/servercore:1809-KB4546852.
Оба эти примера извлекают образ контейнера основных серверных компонентов Windows Server 2019 с обновлением выпуска для системы безопасности от 18 февраля.
Полный список образов контейнеров, версий и соответствующих тегов ос Windows Server см. в следующих ресурсах в Docker Hub:
Ежемесячно обслуживаемые образы Windows Server, выпущенные корпорацией Майкрософт на Azure Marketplace, также поставляются с предварительно установленными образами контейнеров базовой ОС. Дополнительные сведения см. на нашей странице цен Windows Server Azure Marketplace. Как правило, мы обновляем эти образы примерно через пять рабочих дней после выпуска B.
Полный список образов и версий Windows Server см. в статье Журнал обновлений выпусков Windows Server в Azure Marketplace.
Совместимость версий узлов и контейнеров
Существует два типа режимов изоляции для контейнеров Windows: изоляция процессов и изоляция Hyper-V. Изоляция Hyper-V более гибкая, когда речь идет о совместимости версий узлов и контейнеров. Дополнительные сведения см. в статьях Совместимость версий контейнера Windows и Режимы изоляции. В этом разделе основное внимание уделяется контейнерам с изолированными процессами, если не указано иное.
Во время обновления узла или образа контейнера с использованием ежемесячных обновлений при условии, что и узел и образ контейнера поддерживаются (Windows Server версии 1809 или выше), редакции узла и образа контейнера не должны совпадать для нормального запуска и выполнения контейнера.
Однако можно столкнуться с проблемами при использовании контейнеров Windows Server после выпуска обновлений для системы безопасности от 11 февраля 2020 г. (также называется 2B) или более поздними ежемесячными обновлениями безопасности. Дополнительные сведения см. в этой статье службы поддержки Майкрософт. Эти проблемы возникли в результате изменения системы безопасности, для которого потребовалось изменить интерфейс между режимом пользователя и режимом ядра для обеспечения безопасности приложений. Эти проблемы возникают только в контейнерах с изолированными процессами, так как они совместно используют режим ядра с узлом контейнера. Это означает, что образы контейнеров без обновленного компонента пользовательского режима были незащищенными и несовместимыми с новым защищенным интерфейсом ядра.
Мы выпустили исправление от 18 февраля 2020 года. Этот новый выпуск установил "новый базовый показатель", для которого действуют следующие правила:
- Будет работать любая комбинация узлов и контейнеров, выпущенных ранее 2B.
- Будет работать любая комбинация узлов и контейнеров, выпущенных после 2B.
- Любая комбинация узлов и контейнеров на разных сторонах нового базового показателя не будет работать. Например, узел 3B и контейнер 1B не будут работать.
Чтобы продемонстрировать, как работают эти новые правила совместимости, в качестве примера рассмотрим ежемесячное обновление системы безопасности за март 2020 года. В следующей таблице выпуск обновления системы безопасности за март 2020 года называется 3B, обновление за февраль 2020 года — 2B, а обновление за январь 2020 года — 1B.
Хост | Контейнер | Совместимость |
---|---|---|
3B | 3B | Да |
3B | 2B | Да |
3B | 1B или более раннее | No |
2B | 3B | Да |
2B | 2B | Да |
2B | 1B или более раннее | No |
1B или более раннее | 3B | No |
1B или более раннее | 2B | No |
1B или более раннее | 1B или более раннее | Да |
В следующей таблице для справки перечислены номера версий образов контейнеров базовой ОС с ежемесячными выпусками обновлений системы безопасности 1B, 2B и 3B для разных основных выпусков ОС от Windows Server 2016 до последней версии Windows Server 1909.
Версия Windows Server (плавающий тег) | Версия обновления для выпуска от 14.01.20 (1B) | Версия обновления для выпуска от 18.02.20 (2B) | Версия обновления для выпуска от 10.03.20 (3B) |
---|---|---|---|
Windows Server 2016 (ltsc2016) | 10.0.14393.3443 (KB4534271) | 10.0.14393.3506 (KB4546850) | 10.0.14393.3568 (KB4551573) |
Windows Server версии 1803 (1803) | 10.0.17134.1246 (KB4534293) | 10.0.17134.1305 (KB4546851) | Поддержка этой версии подошла к концу. Дополнительные сведения см. в статье Жизненные циклы обслуживания базовых образов. |
Windows Server, версии 1809 (1809) | 10.0.17763.973 (KB4534273) | 10.0.17763.1040 (KB4546852) | 10.0.17763.1098 (KB4538461) |
Windows Server 2019 (ltsc2019) | 10.0.17763.973 (KB4534273) | 10.0.17763.1040 (KB4546852) | 10.0.17763.1098 (KB4538461) |
Windows Server версии 1903 (1903) | 10.0.18362.592 (KB4528760) | 10.0.18362.658 (KB4546853) | 10.0.18362.719 (KB4540673) |
Windows Server версии 1909 (1909) | 10.0.18363.592 (KB4528760) | 10.0.18363.658 (KB4546853) | 10.0.18363.719 (KB4540673) |
Устранение неполадок с несоответствием узлов и образов контейнеров
Перед началом работы обязательно ознакомьтесь со сведениями о совместимости версий. Эти сведения помогут вам определить, была ли ваша проблема связана с несоответствием исправлений. Если причиной оказалось несоответствие исправлений, для устранения проблемы можно выполнить инструкции из этого раздела.
Запрос версии узла контейнера
Если у вас есть доступ к узлу контейнера, вы можете выполнить команду ver
, чтобы получить его версию ОС. Например, если вы выполните ver
в системе, которая работает под управлением Windows Server 2019 с последним выпуском обновления системы безопасности за февраль 2020 года, вы увидите следующее:
Microsoft Windows [Version 10.0.17763.1039]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\>ver
Microsoft Windows [Version 10.0.17763.1039]
Примечание.
Номер редакции в этом примере отображается как 1039, а не 1040, так как в выпуске обновления системы безопасности за февраль 2020 года не было внештатного выпуска 2B для Windows Server. Внештатный выпуск 2B был выпущен только для контейнеров с номером редакции 1040.
Если у вас нет прямого доступа к узлу контейнера, обратитесь к ИТ-администратору. Если вы работаете в облаке, проверьте веб-сайт поставщика облачных служб, чтобы узнать, какая версия ос узла контейнера они работают. Например, если вы используете Службу Azure Kubernetes (AKS), версию ОС можно найти в заметках о выпуске AKS.
Запрос версии образа контейнера
Чтобы узнать, какая версия используется в контейнере, следуйте приведенным ниже инструкциям.
Запустите следующий командлет в PowerShell:
docker images
Результат должен выглядеть следующим образом.
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
Выполните команду
docker inspect
для идентификатора неработающего образа контейнера. Так вы поймете, на какую версию ориентирован образ контейнера.Например, если выполнена команда
run docker inspect
для образа контейнера ltsc 2019:docker inspect b456290f487c "Architecture": "amd64", "Os": "windows", "OsVersion": "10.0.17763.1039", "Size": 4841309825, "VirtualSize": 4841309825,
В этом примере версия ОС контейнера отображается как
10.0.17763.1039
.Если вы уже используете контейнер, вы также можете выполнить команду
ver
внутри самого контейнера, чтобы получить версию. Например, при выполненииver
в образе контейнера основных серверных компонентов Windows Server 2019 с последним выпуском обновления системы безопасности за февраль 2020 года вы увидите следующее:Microsoft Windows [Version 10.0.17763.1040] (c) 2020 Microsoft Corporation. All rights reserved. C:\>ver Microsoft Windows [Version 10.0.17763.1040]