Базовые образы контейнеровContainer Base Images

В Windows предлагается четыре базовых образа контейнера, на основе которых пользователи могут создавать контейнеры.Windows offers four container base images that users can build from. Каждый базовый образ представляет собой определенный выпуск ОС Windows, имеет свой размер и конкретное количество настроенных API Windows.Each base image is a different flavor of the Windows OS, has a different on-disk footprint, and carries a different amount of the Windows API set.

Обнаружение образовImage discovery

Все базовые образы контейнеров Windows обнаруживаются через Docker Hub.All Windows container base images are discoverable through Docker Hub. Для обслуживания этих образов контейнеров Windows используется mcr.microsoft.com, реестр контейнеров Майкрософт (MCR).The Windows container base images themselves are served from mcr.microsoft.com, the Microsoft Container Registry (MCR). Поэтому команды получения для базовых образов контейнеров Windows выглядят следующим образом:This is why the pull commands for the Windows container base images look like the following:

docker pull mcr.microsoft.com/windows/servercore:ltsc2019

В MCR нет своего интерфейса для каталогов. Этот реестр предназначен для поддержки существующих каталогов, например Docker Hub.The MCR does not have its own catalog experience and is meant to support existing catalogs such as Docker Hub. Благодаря глобальному охвату Azure и сочетанию с Azure CDN в MCR реализуется единообразная и быстрая процедура извлечения образа.Thanks to Azure’s global footprint and coupled with Azure CDN, the MCR delivers an image pull experience that is consistent and fast. Клиенты Azure, рабочие нагрузки которых выполняются в Azure, получают такие преимущества, как более высокая производительность в сети и тесная интеграция с MCR (источником образов контейнеров Майкрософт), с Azure Marketplace и все большим числом служб Azure, в которых контейнеры предлагаются в качестве формата пакета развертывания.Azure customers, running their workloads in Azure, benefit from in-network performance enhancements as well as tight integration with the MCR (the source for Microsoft container images), Azure Marketplace, and the expanding number of services in Azure that offer containers as the deployment package format.

Выбор базового образаChoosing a base image

Как выбрать правильный базовый образ для создания контейнера?How do you choose the right base image to build upon? Для большинства пользователей больше всего подойдут образы Windows Server Core и Nanoserver.For most users, Windows Server Core and Nanoserver will be the most appropriate image to use.

РекомендацииGuidelines

Вы можете выбрать любой образ. Но мы предлагаем несколько рекомендаций, которые помогут вам определиться:While you're free to target whichever image you wish, here are some guidelines to help steer your choice:

  • Вашему приложению нужна полная версия .NET Framework?Does your application require the full .NET framework? Если ответ утвердительный, следует выбрать Windows Server Core.If the answer to this question is yes, you should target Windows Server Core.
  • Вы создаете приложение для Windows на основе .NET Core?Are you building a Windows app based upon .NET Core? Если ответ утвердительный, следует выбрать Nanoserver.If the answer to this question is yes, you should target Nanoserver.
  • Вы создаете приложение для Интернета вещей?Are you building an IoT application? Если ответ утвердительный, следует выбрать IoT Core.If the answer to this question is yes, you should target IoT Core.
  • В образе контейнера Windows Server Core нет зависимости, необходимой вашему приложению?Is the Windows Server Core container image missing a dependency your app needs? Если ответ утвердительный, попробуйте использовать Windows.If the answer to this question is yes, you should attempt to target Windows. Размер этого образа значительно больше, чем размеры других базовых образов, но он содержит множество базовых библиотек Windows (например, библиотека GDI).This image is much larger than the other base images, but it carries many of the core Windows libraries (such as the GDI library).
  • Вы являетесь участником программы предварительной оценки Windows?Are you a Windows Insider? Если да, рекомендуем использовать образы в версии для предварительной оценки.If yes, you should consider using the insider version of the images. См. раздел "Базовые образы для участников программы предварительной оценки Windows" ниже.See "Base images for Windows insiders" below.

Совет

Многие пользователи Windows хотят поместить в контейнер приложения, имеющие зависимость от .NET.Many Windows users want to containerize applications that have a dependency on .NET. Помимо четырех базовых образов, описанных здесь, корпорация Майкрософт публикует несколько образов контейнеров Windows, предварительно настроенных для таких популярных платформ Майкрософт, как .NET Framework и ASP.NET.In addition to the four base images described here, Microsoft publishes several Windows container images that come pre-configured with popular Microsoft frameworks, such as a the .NET framework image and the ASP .NET image.

Базовые образы для участников программы предварительной оценки WindowsBase images for Windows Insiders

Для каждого базового образа контейнера Майкрософт предоставляет версию для предварительной оценки.Microsoft provides "insider" versions of each container base image. В таких образах контейнеров содержатся последние и лучшие доработки функций.These insider container images carry the latest and greatest feature development in our container images. Эти образы рекомендуется использовать при запуске узла с версией для предварительной оценки Windows (программа предварительной оценки Windows или Windows Server).When you're running a host that is an insider version of Windows (either Windows Insider or Windows Server Insider), it is preferable to use these images. Образы для участников программы предварительной оценки доступны в Docker Hub:The insider images are available on Docker Hub:

Дополнительные сведения см. в статье Использование контейнеров с Программой предварительной оценки Windows.Read Use Containers with the Windows Insider Program to learn more.

Сравнение образов Windows Server Core и Nano ServerWindows Server Core vs Nanoserver

Windows Server Core и Nanoserver — самые распространенные базовые образы.Windows Server Core and Nanoserver are the most common base images to target. Основное различие между этими образами заключается в том, что в Nano Server поверхность API значительно меньше.The key difference between these images is that Nanoserver has a significantly smaller API surface. В образе Nano Server нет PowerShell, WMI и стека обслуживания Windows.PowerShell, WMI, and the Windows servicing stack are absent from the Nanoserver image.

Этот образ предоставляет поверхность API, которой как раз достаточно для запуска приложений, зависящих от .NET Core и других современных платформ с открытым кодом.Nanoserver was built to provide just enough API surface to run apps that have a dependency on .NET core or other modern open source frameworks. Кроме того, при меньшей поверхности API образ Nano Server занимает значительно меньше места на диске в сравнении с другими базовыми образами Windows.As a tradeoff to the smaller API surface, the Nanoserver image has a significantly smaller on-disk footprint than the rest of the Windows base images. Имейте в виду, что вы всегда можете добавить другие компоненты поверх Nano Server по своему усмотрению.Keep in mind that you can always add layers on top of Nano Server as you see fit. Пример см. здесь: .NET Core Nano Server Dockerfile.For an example of this check out the .NET Core Nano Server Dockerfile.