Requisitos do contêiner do Windows

Esse guia lista os requisitos para um host do contêiner do Windows.

Requisitos de sistema operacional

  • O recurso de contêiner do Windows está disponível apenas no Windows Server 2016 (Core e com a Experiência Desktop), Nano Server e Windows 10 Professional e Enterprise (Anniversary Edition).
  • A função Hyper-V deve ser instalada antes da execução dos contêineres do Hyper-V
  • Os hosts de contêiner do Windows Server devem ter o Windows instalado na unidade c:. Essa restrição não se aplicará se apenas os contêineres do Hyper-V forem ser implantados.

Hosts de contêiner virtualizados

Se um host do contêiner do Windows for executado em uma máquina virtual do Hyper-V e também estiver hospedando contêineres do Hyper-V, a virtualização aninhada precisará ser habilitada. A virtualização aninhada tem os seguintes requisitos:

  • Pelo menos 4 GB de RAM disponíveis para o host Hyper-V virtualizado.
  • Windows Server 2016 ou Windows 10 no sistema host e Windows Server (Full, Core) ou Nano Server na máquina virtual.
  • Um processador com Intel VT-x (este recurso está apenas disponível para os processadores Intel).
  • A VM do host do contêiner também precisa de pelo menos dois processadores virtuais.

Imagens base com suporte

Os Contêineres do Windows são oferecidos com duas imagens base do contêiner: Windows Server Core e Nano Server. Nem todas as configurações têm suporte para ambas as imagens do SO. Esta tabela fornece detalhes sobre as configurações com suporte.

Sistema Operacional do Host
Contêiner do Windows Server
Contêiner do Hyper-V
Windows Server 2016 (Standard ou Datacenter)
Server Core/Nano Server
Server Core/Nano Server
Nano Server
Nano Server
Server Core/Nano Server
Windows 10 Pro/Enterprise
Não disponível
Server Core/Nano Server

Correspondência de versão de Host do contêiner com versões de imagem de contêiner

Contêineres do Windows Server

Como os contêineres do Windows Server e o host subjacente compartilham um único núcleo, a imagem de base do contêiner deve corresponder à do host. Se as versões forem diferentes, o contêiner pode iniciar, mas a funcionalidade completa não será garantida. Portanto, versões incompatíveis não têm suporte. O sistema operacional Windows tem 4 níveis de controle de versão, principal, secundário, compilação e revisão – por exemplo, 10.0.14393.0. O número de build é alterado apenas quando novas versões do sistema operacional são publicadas. O número de revisão é atualizado conforme as atualizações do Windows são aplicadas. Os contêineres do Windows Server são bloqueados ao iniciar quando o número de build é diferente – por exemplo, 10.0.14300.1030 (Technical Preview 5) e 10.0.14393 (Windows Server 2016 RTM). Se o número de build corresponde mas o número de revisão é diferente, não haverá bloqueio ao iniciar – por exemplo, 10.0.14393 (Windows Server 2016 RTM) e 10.0.14393.206 (Windows Server 2016 GA). Mesmo que eles não sejam bloqueados tecnicamente, essa é uma configuração que pode não funcionar corretamente em todas as circunstâncias e, portanto, não têm suporte para ambientes de produção.

Para saber qual versão de um host do Windows está instalada, você pode consultar HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion. Para saber qual versão está sendo usada pela imagem de base, você pode examinar as marcas no hub do Docker ou a tabela de hash de imagem fornecida na descrição da imagem. O histórico de atualização do Windows 10 indica quando cada build e cada revisão foi lançada.

Neste exemplo, 14393 é o número de build principal e 321 é o número de revisão.

Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\').BuildLabEx
14393.321.amd64fre.rs1_release_inmarket.161004-2338

Isolamento do Hyper-V para contêineres

Os Contêineres do Windows podem ser executados com ou sem o isolamento do Hyper-V. O isolamento do Hyper-V cria um limite seguro em torno do contêiner com uma VM otimizada. Ao contrário dos Contêineres do Windows padrão, que compartilham o kernel entre os contêineres e o host, cada contêiner isolado do Hyper-V tem sua própria instância do kernel do Windows. Por isso, você pode ter diferentes versões do sistema operacional no host do contêiner e na imagem (veja abaixo da matriz de compatibilidade).

Para executar um contêiner com isolamento do Hyper-V, basta adicionar a marca "--isolation=hyper-v" a seu comando docker run.

Matriz de compatibilidade

As compilações do Windows Server após a 2016 GA (10.0.14393.206) podem executar as imagens do Windows Server 2016 GA do Server Core do Windows ou do Nano Server em uma configuração com suporte, independentemente do número de revisão.

É importante entender que para obter a funcionalidade completa, confiabilidade e garantias de segurança fornecidas com as atualizações do Windows, você deve manter as versões mais recentes em todos os sistemas.