Обновление контейнеров Windows ServerUpdate Windows Server containers

В рамках ежемесячного обслуживания Windows Server мы регулярно публикуем обновленные базовые образы контейнеров ОС Windows Server.As part of servicing Windows Server each month, we publish updated Windows Server Base OS container images on a regular basis. С этими обновлениями вы можете автоматизировать создание обновленных образов контейнеров или обновить их вручную, установив последнюю версию.With these updates, you can automate building updated container images or manually update them by pulling the latest version. Контейнеры Windows Server не имеют стека обслуживания, как Windows Server.Windows Server containers don't have a servicing stack like Windows Server. Вы не можете получать обновления внутри контейнера, как в случае с Windows Server.You can't get updates within a container like you do with Windows Server. Таким образом каждый месяц мы перестраиваем базовые образы контейнеров ОС Windows Server с обновлениями и публикуем обновленные образы контейнеров.Therefore, every month we rebuild the Windows Server Base OS container images with the updates and publish the updated container images.

Другие образы контейнеров (например, .NET или IIS) будут перестраиваться на основе обновленных базовых образов контейнеров ОС и публиковаться ежемесячно.Other container images, such as .NET or IIS, will be rebuilt based on the updated Base OS container images and published monthly.

Получение обновлений контейнера Windows ServerHow to get Windows Server container updates

Мы обновляем базовые образы контейнеров ОС Windows Server в соответствии с частотой обслуживания Windows.We update Windows Server Base OS container images in alignment with the Windows servicing cadence. Обновленные образы контейнеров публикуются во второй вторник каждого месяца, который мы иногда называем выпуском B, с префиксным номером в зависимости от месяца выпуска.Updated container images are published the second Tuesday of each month, which we sometimes refer to as our "B" release, with a prefix number based on the release month. Например, февральское обновление мы называем 2B, а мартовское — 3B.For example, we call our February update "2B" and our March update "3B." Это ежемесячное обновление является единственным регулярным выпуском, который содержит новые исправления для системы безопасности.This monthly update event is the only regular release that include new security fixes.

Обслуживание сервера, на котором размещены эти контейнеры, называемого узлом контейнера или просто "узлом", может осуществляться во время дополнительных событий обновления, отличных от выпусков B.The server hosting these containers, called the container host or just the "host", can be serviced during additional update events other than "B" releases. Дополнительные сведения о частоте выпуска обновлений Windows см. в этой записи блога.To learn more about the Windows update servicing cadence, see our Windows update servicing cadence blog post.

Новые базовые образы контейнеров ОС Windows Server выходят вскоре после 10:00 по тихоокеанскому времени во второй вторник каждого месяца в Реестре контейнеров Майкрософт (MCR), а рекомендуемые теги предназначены для самого последнего выпуска B.New Windows Server Base OS container images go live shortly after 10:00am PST on the second Tuesday of each month in the Microsoft Container Registry (MCR), and the featured tags target the most recent B release. Вот несколько примеров.Some examples include:

  • ltsc2019 (LTSC): docker pull mcr.microsoft.com/windows/servercore:ltsc2019.ltsc2019 (LTSC): docker pull mcr.microsoft.com/windows/servercore:ltsc2019
  • 1909 (SAC): docker pull mcr.microsoft.com/windows/servercore:1909.1909 (SAC): docker pull mcr.microsoft.com/windows/servercore:1909

Если вы больше знакомы с Docker Hub, чем с MCR, просмотрите эту запись блога, чтобы получить более подробные объяснения.If you're more familiar with Docker Hub than MCR, this blog post will give you a more detailed explanation.

В каждом выпуске соответствующий образ контейнера также публикуется с двумя дополнительными тегами для номера редакции и номера статьи базы знаний для нацеливания на конкретные редакции образа контейнера.For each release, the respective container image also gets published with two additional tags for the revision number and the KB article number for targeting specific container image revisions. Например:For example:

  • docker pull mcr.microsoft.com/windows/servercore:10.0.17763.1040.docker pull mcr.microsoft.com/windows/servercore:10.0.17763.1040
  • docker pull mcr.microsoft.com/windows/servercore:1809-KB4546852.docker pull mcr.microsoft.com/windows/servercore:1809-KB4546852

Оба эти примера извлекают образ контейнера основных серверных компонентов Windows Server 2019 с обновлением выпуска для системы безопасности от 18 февраля.These examples both pull the Windows Server 2019 Server Core container image with the February 18 security release update.

Полный список базовых образов, версий и соответствующих тегов контейнеров ОС Windows Server см. в статье Базовые образы ОС Windows на Docker Hub.For a complete list of Windows Server Base OS container images, versions, and their respective tags, see this Windows Base OS container images on Docker Hub.

Ежемесячно обслуживаемые образы Windows Server, выпущенные корпорацией Майкрософт на Azure Marketplace, также поставляются с предварительно установленными образами контейнеров базовой ОС.Monthly serviced Windows Server images released on Azure Marketplace by Microsoft also come with preinstalled Base OS container images. Дополнительные сведения см. на нашей странице цен Windows Server Azure Marketplace.Find our more at our Windows Server Azure Marketplace pricing page. Как правило, мы обновляем эти образы примерно через пять рабочих дней после выпуска B.We usually update these images about five working days after the "B" release.

Полный список образов и версий Windows Server см. в статье Журнал обновлений выпусков Windows Server в Azure Marketplace.For a complete list of Windows Server images and versions, see Windows Server release on Azure Marketplace update history.

Совместимость версий узлов и контейнеровHost and container version compatibility

Существует два типа режимов изоляции для контейнеров Windows: изоляция процессов и изоляция Hyper-V.There are two types of isolation modes for Windows containers: Process isolation and Hyper-V isolation. Изоляция Hyper-V более гибкая, когда речь идет о совместимости версий узлов и контейнеров.Hyper-V isolation is more flexible when it comes to host and container version compatibility. Дополнительные сведения см. в статьях Совместимость версий контейнера Windows и Режимы изоляции.To learn more, see Version compatibility and Isolation Modes. В этом разделе основное внимание уделяется контейнерам с изолированными процессами, если не указано иное.This section will focus on process-isolated containers unless stated otherwise.

Во время обновления узла или образа контейнера с использованием ежемесячных обновлений при условии, что и узел и образ контейнера поддерживаются (Windows Server версии 1809 или выше), редакции узла и образа контейнера не должны совпадать для нормального запуска и выполнения контейнера.When you update your container host or container image with the monthly updates, as long as the host and container image are both supported (Windows Server version 1809 or higher), the host and container image revisions don't need to match for the container to start and run normally.

Однако можно столкнуться с проблемами при использовании контейнеров Windows Server после выпуска обновлений для системы безопасности от 11 февраля 2020 г. (также называется 2B) или более поздними ежемесячными обновлениями безопасности.However, you might encounter issues when using Windows Server containers with the February 11, 2020 security update release (also called "2B") or later monthly security update releases. Дополнительные сведения см. в этой статье службы поддержки Майкрософт.See this Microsoft Support article for more details. Эти проблемы возникли в результате изменения системы безопасности, для которого потребовалось изменить интерфейс между режимом пользователя и режимом ядра для обеспечения безопасности приложений.These issues resulted from a security change that required an interface between user mode and kernel mode to change to ensure the security of your applications. Эти проблемы возникают только в контейнерах с изолированными процессами, так как они совместно используют режим ядра с узлом контейнера.These issues only happen on process isolated containers because process isolated containers share the kernel mode with the container host. Это означает, что образы контейнеров без обновленного компонента пользовательского режима были незащищенными и несовместимыми с новым защищенным интерфейсом ядра.This means container images without the updated user mode component were unsecured and incompatible with the new secured kernel interface.

Мы выпустили исправление от 18 февраля 2020 года.We've released a fix as of February 18, 2020. Этот новый выпуск установил "новый базовый показатель".This new release has established a "new baseline." Для этого нового базового показателя действуют приведенные ниже правила.This new baseline follows these rules:

  • Будет работать любая комбинация узлов и контейнеров, выпущенных ранее 2B.Any combination of hosts and containers that are both before 2B will work.
  • Будет работать любая комбинация узлов и контейнеров, выпущенных после 2B.Any combination of hosts and containers that are both after 2B will work.
  • Любая комбинация узлов и контейнеров на разных сторонах нового базового показателя не будет работать.Any combination of hosts and containers on different sides of the new baseline won't work. Например, узел 3B и контейнер 1B не будут работать.For example, a 3B host and a 1B container won't work.

Чтобы продемонстрировать, как работают эти новые правила совместимости, в качестве примера рассмотрим ежемесячное обновление системы безопасности за март 2020 года.Let's use the March 2020 monthly security update release as an example to show you how these new compatibility rules work. В следующей таблице выпуск обновления системы безопасности за март 2020 года называется 3B, обновление за февраль 2020 года — 2B, а обновление за январь 2020 года — 1B.In the following table, the March 2020 security update release is called "3B," the February 2020 update is "2B," and the January 2020 update is "1B."

Hyper-VHost КонтейнерContainer СовместимостьCompatibility
3B3B 3B3B ДаYes
3B3B 2B2B ДаYes
3B3B 1B или более раннее1B or earlier НетNo
2B2B 3B3B ДаYes
2B2B 2B2B ДаYes
2B2B 1B или более раннее1B or earlier НетNo
1B или более раннее1B or earlier 3B3B НетNo
1B или более раннее1B or earlier 2B2B НетNo
1B или более раннее1B or earlier 1B или более раннее1B or earlier ДаYes

В следующей таблице для справки перечислены номера версий образов контейнеров базовой ОС с ежемесячными выпусками обновлений системы безопасности 1B, 2B и 3B для разных основных выпусков ОС от Windows Server 2016 до последней версии Windows Server 1909.For reference, the following table lists the version numbers for Base OS container images with 1B, 2B, and 3B monthly security update releases across different major OS releases from Windows Server 2016 to the latest Windows Server, version 1909 release.

Версия Windows Server (плавающий тег)Windows Server version (floating tag) Версия обновления для выпуска от 14.01.20 (1B)Update version for 1/14/20 release (1B) Версия обновления для выпуска от 18.02.20 (2B)Update version for 2/18/20 release (2B) Версия обновления для выпуска от 10.03.20 (3B)Update version for 3/10/20 release (3B)
Windows Server 2016 (ltsc2016)Windows Server 2016 (ltsc2016) 10.0.14393.3443 (KB4534271)10.0.14393.3443 (KB4534271) 10.0.14393.3506 (KB4546850)10.0.14393.3506 (KB4546850) 10.0.14393.3568 (KB4551573)10.0.14393.3568 (KB4551573)
Windows Server версии 1803 (1803)Windows Server, version 1803 (1803) 10.0.17134.1246 (KB4534293)10.0.17134.1246 (KB4534293) 10.0.17134.1305 (KB4546851)10.0.17134.1305 (KB4546851) Поддержка этой версии подошла к концу.This version has reached end of support. Дополнительные сведения см. в статье Жизненные циклы обслуживания базовых образов.For more information, see Base image servicing lifecycles.
Windows Server, версии 1809 (1809)Windows Server, version 1809 (1809) 10.0.17763.973 (KB4534273)10.0.17763.973 (KB4534273) 10.0.17763.1040 (KB4546852)10.0.17763.1040 (KB4546852) 10.0.17763.1098 (KB4538461)10.0.17763.1098 (KB4538461)
Windows Server 2019 (ltsc2019)Windows Server 2019 (ltsc2019) 10.0.17763.973 (KB4534273)10.0.17763.973 (KB4534273) 10.0.17763.1040 (KB4546852)10.0.17763.1040 (KB4546852) 10.0.17763.1098 (KB4538461)10.0.17763.1098 (KB4538461)
Windows Server версии 1903 (1903)Windows Server, version 1903 (1903) 10.0.18362.592 (KB4528760)10.0.18362.592 (KB4528760) 10.0.18362.658 (KB4546853)10.0.18362.658 (KB4546853) 10.0.18362.719 (KB4540673)10.0.18362.719 (KB4540673)
Windows Server версии 1909 (1909)Windows Server, version 1909 (1909) 10.0.18363.592 (KB4528760)10.0.18363.592 (KB4528760) 10.0.18363.658 (KB4546853)10.0.18363.658 (KB4546853) 10.0.18363.719 (KB4540673)10.0.18363.719 (KB4540673)

Устранение неполадок с несоответствием узлов и образов контейнеровTroubleshoot host and container image mismatches

Перед началом работы обязательно ознакомьтесь со сведениями о совместимости версий.Before you start, make sure sure to get familiar with the information in Version compatibility. Эти сведения помогут вам определить, была ли ваша проблема связана с несоответствием исправлений.This information will help you figure out whether your issue was caused by mismatching patches. Если причиной оказалось несоответствие исправлений, для устранения проблемы можно выполнить инструкции из этого раздела.When you've established mismatching patches as the cause, you can follow the instructions in this section to troubleshoot the issue.

Запрос версии узла контейнераQuery the version of your container host

Если у вас есть доступ к узлу контейнера, вы можете выполнить команду ver, чтобы получить его версию ОС.If you can access your container host, you can run the ver command to get its OS version. Например, если вы выполните ver в системе, которая работает под управлением Windows Server 2019 с последним выпуском обновления системы безопасности за февраль 2020 года, вы увидите следующее:For example, if you run ver on a system that runs Windows Server 2019 with the latest Feb 2020 security update release, you'll see this:

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.The revision number in this example displays as 1039, not 1040, because the Feb 2020 security update release didn't have an out-of-band 2B release for Windows Server. Внештатный выпуск 2B был выпущен только для контейнеров с номером редакции 1040.There was only an out-of-band 2B release for containers, which had a revision number of 1040.

Если у вас нет прямого доступа к узлу контейнера, обратитесь к ИТ-администратору. Если вы работаете в облаке, перейдите на веб-сайт поставщика, чтобы узнать, какую версию ОС узла контейнера они используют.If you don't have direct access to your container host, check with your IT admin. If you're running on the cloud, check the cloud provider's website to find out what container host OS version they're running. Например, если вы используете Службу Azure Kubernetes (AKS), версию ОС можно найти в заметках о выпуске AKS.For example, If you are using Azure Kubernetes Service (AKS), you can find the host OS version in the AKS release notes.

Запрос версии образа контейнераQuery the version of your container image

Чтобы узнать, какая версия используется в контейнере, следуйте приведенным ниже инструкциям.Follow these instructions to find out which version your container is running:

  1. Запустите следующий командлет в PowerShell:Run the following cmdlet in PowerShell:

    docker images
    

    Результат должен выглядеть примерно так:The output should look something like this:

    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
    
    
  2. Run the docker inspect command for the Image ID of the container image that isn't working. This will tell you which version the container image is targeting.

    For example, let's say we run docker inspect for an ltsc 2019 container image:

    docker inspect b456290f487c
    
        "Architecture": "amd64",
    
         "Os": "windows",
    
         "OsVersion": "10.0.17763.1039",
    
         "Size": 4841309825,
    
         "VirtualSize": 4841309825,
    

    В этом примере версия ОС контейнера отображается как 10.0.17763.1039.In this example, the container OS version shows as 10.0.17763.1039.

    Если вы уже используете контейнер, вы также можете выполнить команду ver внутри самого контейнера, чтобы получить версию.If you're already running a container, you can also run the ver command within the container itself to get the version. Например, при выполнении ver в образе контейнера основных серверных компонентов Windows Server 2019 с последним выпуском обновления системы безопасности за февраль 2020 года вы увидите следующее:For example, running ver in a Server Core container image of Windows Server 2019 with the latest Feb 2020 security update release will show you this:

    Microsoft Windows [Version 10.0.17763.1040]
    (c) 2020 Microsoft Corporation. All rights reserved.
    
    C:\>ver
    
    Microsoft Windows [Version 10.0.17763.1040]