Imágenes base de contenedor

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Windows ofrece cuatro imágenes base de contenedor desde las que los usuarios pueden compilar. Cada imagen base es un tipo diferente del sistema operativo Windows o Windows Server, tiene una superficie de disco diferente y tiene un conjunto de API de Windows diferente.

Detección de imágenes

Todas las imágenes base de contenedores de Windows se pueden detectar a través de Docker Hub. Las imágenes base de contenedores de Windows se entregan desde mcr.microsoft.com, Microsoft Container Registry (MCR). Este es el motivo por el que los comandos de extracción para las imágenes base de contenedores de Windows tienen el aspecto siguiente:

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

MCR no tiene su propia experiencia de catálogo y está pensado para admitir los catálogos existentes, como Docker Hub. Gracias a la superficie global de Azure y junto con Azure CDN, MCR ofrece una experiencia de extracción de imágenes que es coherente y rápida. Los clientes de Azure que ejecutan sus cargas de trabajo en Azure se benefician de las mejoras de rendimiento en la red, así como de una estrecha integración con MCR (el origen de las imágenes de contenedores de Microsoft), Azure Marketplace y el creciente número de servicios de Azure que ofrecen contenedores como formato de paquete de implementación.

Elección de una imagen base

¿Cómo elegir la imagen base adecuada en función de la cual compilar? Para la mayoría de los usuarios, Windows Server Core y Nanoserver serán la imagen más adecuada para usar. Cada imagen base se describe brevemente a continuación:

  • Nano Server es una oferta de Windows ultraligera para el desarrollo de nuevas aplicaciones.
  • Server Core tiene un tamaño medio y es una buena opción para migrar aplicaciones de Windows Server mediante "lift-and-shift".
  • Windows es la imagen más grande y tiene compatibilidad completa con las API de Windows para cargas de trabajo.
  • Windows Server es ligeramente más pequeña que la imagen de Windows, tiene compatibilidad completa con las API de Windows y le permite usar más características de servidor.

Directrices

Si bien tiene la posibilidad de usar la imagen que quiera, estas son algunas directrices que le ayudarán a dirigir su elección:

  • ¿Requiere la aplicación la versión completa de .NET Framework? Si la respuesta a esta pregunta es afirmativa, deberías usar Windows Server Core.
  • ¿Estás compilando una aplicación de Windows basada en .NET Core? Si la respuesta a esta pregunta es afirmativa, deberías usar Nanoserver.
  • ¿Falta en la imagen de contenedor de Windows Server Core una dependencia que tu aplicación necesita? Si la respuesta a esta pregunta es afirmativa, deberías intentar usar Windows. Esta imagen es mucho más grande que las otras imágenes base, pero incluye muchas de las bibliotecas de Windows principales (como la biblioteca GDI).
  • ¿Eres miembro de Windows Insider? En caso afirmativo, piensa en la posibilidad de usar la versión de las imágenes para Insider. Para obtener más información, consulte "Imágenes base para los usuarios de Windows Insider" a continuación.
  • ¿Necesita compatibilidad con la aceleración de GPU para las cargas de trabajo de contenedor? En caso afirmativo, analice la posibilidad de usar la imagen Windows Server para incluir la aceleración de hardware para las cargas de trabajo de contenedores Windows.

Sugerencia

Muchos usuarios de Windows quieren incluir en contenedores las aplicaciones que tienen una dependencia en .NET. Además de las cuatro imágenes base que se describen aquí, Microsoft publica varias imágenes de contenedor de Windows que están preconfiguradas con los marcos de Microsoft conocidos, como la imagen de .NET Framework y la imagen de ASP .NET.

Windows frente a Windows Server

La imagen Windows Server (3,1 GB) tiene un tamaño ligeramente menor que la imagen Windows (3,4 GB). La imagen de Windows Server también hereda todas las mejoras de rendimiento y fiabilidad de la imagen de Server Core, tiene compatibilidad con GPU y no tiene límites en las conexiones IIS. Para utilizar la imagen más reciente de Windows Server necesitará una instalación de Windows Server 2022. La imagen de Windows no está disponible para Windows Server 2022.

Imágenes base para Windows Insider

Microsoft proporciona versiones de "Insider" de cada imagen base de contenedor. Estas imágenes de contenedor de Insider incluyen el desarrollo de características más reciente y mejor en nuestras imágenes de contenedor. Cuando ejecutes un host que sea una versión de Windows para Insider (ya sea Windows Insider o Windows Server Insider), es preferible usar estas imágenes. Las siguientes imágenes de Insider están disponibles en Docker Hub:

Para más información, lee Usar contenedores con el Programa Windows Insider.

Windows Server Core frente a Nano Server

Windows Server Core y Nanoserver son las imágenes base de destino más comunes. La diferencia principal entre estas imágenes es que Nano Server tiene una superficie de API significativamente menor. PowerShell, WMI y la pila de servicio de Windows no están presentes en la imagen de Nano Server.

Nano Server se compiló para proporcionar una superficie de API apenas suficiente para ejecutar aplicaciones que tengan una dependencia en .NET Core u otros marcos de código abierto modernos. Como contrapartida a la menor superficie de API, la imagen de Nano Server tiene una superficie en disco considerablemente menor que el resto de las imágenes base de Windows. Ten en cuenta que siempre se pueden agregar capas sobre Nano Server según estimes oportuno. Para ver un ejemplo de esto, echa un vistazo al Dockerfile de .NET Core Nano Server.