Imagens base do contêiner

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

O Windows oferece quatro imagens base de contêiner a partir das quais os usuários podem criar. Cada imagem base é um tipo diferente do sistema operacional Windows ou Windows Server, tem um espaço em disco distinto e tem um conjunto diferente do conjunto de APIs do Windows.

Descoberta de imagem

Todas as imagens base de contêiner do Windows são detectáveis por meio do Docker Hub. As próprias imagens base do contêiner do Windows são servidas a partir do mcr.microsoft.com, o MCR (Registro de Contêiner da Microsoft). É por isso que os comandos pull para as imagens base do contêiner do Windows são semelhantes ao seguinte:

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

O MCR não tem sua própria experiência de catálogo e destina-se a dar suporte a catálogos existentes, como o Docker Hub. Graças à superfície global do Azure e associado à CDN do Azure, o MCR fornece uma experiência de pull de imagem consistente e rápida. Os clientes do Azure, executando suas cargas de trabalho no Azure, beneficiam-se de aprimoramentos de desempenho na rede, bem como integração total com o MCR (a origem das imagens de contêiner da Microsoft), Azure Marketplace e um número cada vez maior de serviços no Azure que oferecem contêineres como o formato do pacote de implantação.

Escolhendo uma imagem base

Como escolher a imagem base certa para o que desejo criar? Para a maioria dos usuários, o Windows Server Core e o Nanoserver serão as imagens mais apropriadas a serem usadas. Cada imagem base é brevemente descrita abaixo:

  • O Nano Server é uma oferta ultraleve do Windows para o desenvolvimento de novos aplicativos.
  • O Server Core é de tamanho médio e uma boa opção para migrar aplicativos do Windows Server por lift-and-shift.
  • O Windows é a maior imagem e tem suporte completo à API do Windows para cargas de trabalho.
  • O Windows Server é um pouco menor do que a imagem do Windows, tem suporte completo à API do Windows e permite que você use mais recursos de servidor.

Diretrizes

Embora você seja livre para definir qual imagem deseja usar, aqui estão algumas diretrizes para ajudar a orientar a sua escolha:

  • Seu aplicativo requer o .NET Framework completo? Se a resposta para essa pergunta for sim, você deve definir como destino o Windows Server Core.
  • Você está criando um aplicativo do Windows baseado no .NET Core? Se a resposta para essa pergunta for sim, você deve definir como destino o Nanoserver.
  • A imagem de contêiner do Windows Server Core não tem uma dependência para as necessidades de seu aplicativo? Se a resposta para essa pergunta for sim, você deve tentar definir como destino o Windows. Essa imagem é muito maior do que as outras imagens base, mas carrega muitas das principais bibliotecas do Windows (como a biblioteca GDI).
  • Você é um Windows Insider? Em caso afirmativo, você deve considerar o uso da versão Insider das imagens. Para obter mais informações, confira "Imagens base para o Windows Insiders" abaixo.
  • Você precisa de suporte à aceleração de GPU para suas cargas de trabalho de contêiner? Em caso afirmativo, considere usar a imagem do Windows Server para incluir aceleração de hardware para suas cargas de trabalho de contêiner do Windows.

Dica

Muitos usuários do Windows desejam colocar os aplicativos em contêineres que tenham uma dependência no .NET. Além das quatro imagens base descritas aqui, a Microsoft publica várias imagens de contêiner do Windows que são pré-configuradas com as estruturas populares da Microsoft, como a imagem do .NET Framework e a imagem do ASP .NET.

Windows versus Windows Server

A imagem do Windows Server (3,1 GB) tem um tamanho ligeiramente menor que a imagem do Windows (3,4 GB). A imagem do Windows Server também herda todos os aprimoramentos de desempenho e confiabilidade da imagem do Server Core, tem suporte à GPU e não tem nenhum limite para conexões do IIS. Para usar a imagem mais recente do Windows Server, você precisará de uma instalação do Windows Server 2022. A imagem do Windows não está disponível para o Windows Server 2022.

Imagens base para o Windows Insiders

A Microsoft fornece versões do “Insider” de cada imagem base de contêiner. Essas imagens de contêiner do Insider trazem o melhor e mais recente desenvolvimento de recursos para nossas imagens de contêiner. Quando você estiver executando um host que é uma versão do Windows Insider (seja o Windows Insider ou o Windows Server Insider), é preferível usar essas imagens. As seguintes imagens do Insider estão disponíveis no Docker Hub:

Leia Usar contêineres com o programa Windows Insider para saber mais.

Windows Server Core versus Nanoserver

O Windows Server Core e o Nanoserver são as imagens base mais comuns a serem definidas como destino. A principal diferença entre essas imagens é que o Nanoserver tem uma superfície de API significativamente menor. O PowerShell, o WMI e a pilha de serviços do Windows estão ausentes da imagem do Nanoserver.

O Nanoserver foi criado para fornecer apenas uma superfície de API suficiente para executar aplicativos que tenham uma dependência no .NET Core ou em outras estruturas de open-source modernas. Para compensar a superfície de API menor, a imagem do Nanoserver tem um espaço em disco significativamente menor do que o restante das imagens base do Windows. Lembre-se de que você sempre pode adicionar camadas no topo do Nano Server conforme desejar. Para ver um exemplo disso, confira o Dockerfile do .NET Core Nano Server.