Perguntas frequentes sobre contêineres

Faça uma pergunta sobre os contêineres do Windows Server e confira se ela foi respondida na lista abaixo.

Qual é a diferença entre contêineres do Linux e do Windows Server?

O Linux e o Windows Server implementam tecnologias similares no kernel e no sistema operacional principal. A diferença está na plataforma e nas cargas de trabalho que são executadas dentro dos contêineres.

Quando um cliente usa contêineres do Windows Server, eles podem se integrar às tecnologias existentes do Windows, como .NET, ASP.NET e PowerShell.

Quais são os pré-requisitos para a execução de contêineres no Windows?

Os contêineres foram introduzidos na plataforma com o Windows Server 2016. Para usar contêineres, será necessário usar o Windows Server 2016, a atualização de aniversário do Windows 10 (versão 1607) ou mais recente ou o Windows 10 IoT Enterprise ou mais recente. Leia os Requisitos do sistema para saber mais.

Quais sistemas operacionais Windows são compatíveis com o Kubernetes?

O suporte a contêineres do Windows depende da plataforma Kubernetes em que eles são executados. O AKS (Serviço de Kubernetes do Azure) e o AKS no Azure Stack HCI e no Windows Server dão suporte aos nós do Windows Server 2019 e do Windows Server 2022. O Serviço de Kubernetes do Azure Edge Essentials é compatível com o Windows Server 2019, o Windows Server 2022 e o Windows 10/11 Enterprise ou Pro. Para compatibilidade com a versão do contêiner do Windows, confira Compatibilidade da versão de contêiner do Windows.

Como fazer para aplicar patch aos nós do Windows?

Os nós do Windows Server no AKS e no AKS no Azure Stack HCI e no Windows Server precisam ser atualizados para obter as correções e as atualizações de patch mais recentes. As atualizações do Windows não estão habilitadas em nós do Windows nesses serviços. No entanto, os dois serviços fornecem mecanismos para atualizar as imagens de nó do Windows.

Meus contêineres do Windows Server podem usar a gMSA?

Sim, há suporte para a gMSA nos nós de trabalho do Windows conectados ao domínio. Para saber mais sobre como usar a gMSA com contêineres do Windows, confira Preparar nós do Windows para a gMSA.

O que são WCOW e LCOW?

WCOW é a abreviação em inglês de "contêineres do Windows no Windows". LCOW é a abreviação em inglês de "contêineres do Linux no Windows".

Como os contêineres são licenciados? Há um limite no número de contêineres que posso executar?

O EULA da imagem de contêiner do Windows descreve um uso que depende de um usuário ter um sistema operacional do host licenciado e válido. O número de contêineres que um usuário tem permissão para executar depende da edição do sistema operacional do host e do modo de isolamento com o qual um contêiner está sendo executado, bem como se esses contêineres estão sendo executados para fins de desenvolvimento/teste ou em produção.

Sistema operacional do host Limite de contêiner isolado do processo Limite de contêiner isolado do Hyper-V
Windows Server Standard Ilimitado 2
Windows Server Datacenter Ilimitado Ilimitado
Windows Pro e Enterprise Ilimitado (somente para fins de teste ou desenvolvimento) Ilimitado (somente para fins de teste ou desenvolvimento)
Windows 10 IoT Core Ilimitado* Ilimitado*
Windows IoT Enterprise Ilimitado* Ilimitado*

O uso da imagem de contêiner do Windows Server é determinado pela leitura do número de convidados de virtualização compatíveis com a edição.

Observação

*Será possível utilizar em produção os contêineres de uma edição IoT do Windows se você tiver concordado com os Termos de Uso Comercial da Microsoft com relação a imagens de runtime do Windows Core ou com a Licença de Dispositivo Windows IoT Enterprise (“Contrato Comercial do Windows IoT”). Os termos e as restrições adicionais nos Contratos Comerciais do Windows IoT se aplicam ao uso da imagem de contêiner em um ambiente de produção. Leia o EULA da imagem de contêiner para entender exatamente o que é permitido e o que não é.

Como desenvolvedor, preciso reescrever meu aplicativo para cada tipo de contêiner?

Não. As imagens de contêiner do Windows são comuns aos contêineres do Windows Server e do isolamento do Hyper-V. A escolha do tipo de contêiner é feita quando você inicia o contêiner. Do ponto de vista do desenvolvedor, os contêineres do Windows Server e o isolamento do Hyper-V são duas variações da mesma coisa. Eles oferecem a mesma experiência de desenvolvimento, programação e gerenciamento, são abertos e extensíveis e incluem o mesmo nível de integração e suporte com o Docker.

Um desenvolvedor pode criar uma imagem de contêiner usando um contêiner do Windows Server e implantá-lo no isolamento do Hyper-V ou vice-versa, sem nenhuma alteração, além da especificação do sinalizador de runtime apropriado.

Os contêineres do Windows Server oferecem maior densidade e desempenho, para quando a velocidade é fundamental, como tempo de criação inferior e desempenho de runtime mais rápido comparado às configurações aninhadas. O isolamento do Hyper-V, como o próprio nome indica, oferece maior isolamento, garantindo que o código executado em um contêiner não possa comprometer nem afetar o sistema operacional do host ou outros contêineres em execução no mesmo host. Isso é útil para cenários de multilocatário com requisitos de hospedagem de código não confiável, incluindo aplicativos SaaS e hospedagem de computação.

Posso executar contêineres do Windows no modo isolado do processo no Windows 10?

Na Atualização de outubro de 2018 para o Windows 10 em diante, você pode executar um contêiner do Windows com o isolamento do processo, mas primeiro precisa solicitar diretamente o isolamento do processo usando o sinalizador --isolation=process ao executar seus contêineres com docker run. O isolamento de processos é compatível com o Windows 10/11 Pro (ou mais recente), o Windows 10 Enterprise (ou mais recente), o Windows 10 IoT Core e o Windows 10 IoT Enterprise (ou mais recente).

Se você quiser executar seus contêineres do Windows dessa forma, precisará verificar se o host está executando o Windows 10 build 17763 e posterior e se você tem uma versão do Docker com o Mecanismo 18.09 ou mais recente.

Aviso

Além dos hosts do IoT Core e do IoT Enterprise (após a aceitação dos termos e das restrições adicionais), esse recurso destina-se apenas ao desenvolvimento e ao teste. Você deverá continuar usando o Windows Server como o host para implantações de produção. Usando esse recurso, você também precisará verificar se as marcas de versão do host e do contêiner e os números de build são correspondentes, caso contrário, poderá ocorrer uma falha na inicialização do contêiner ou a exibição de um comportamento indefinido.

Como fazer para disponibilizar minhas imagens de contêiner em computadores abertos?

As imagens base de contêiner do Windows contêm artefatos cuja distribuição é restrita por licença. Ao fazer build nessas imagens e efetuar push delas para um registro privado ou público, você observará que a camada base nunca é enviada por push. Em vez disso, usamos o conceito de uma camada estrangeira que aponta para a camada base real que reside no armazenamento em nuvem do Azure.

Isso pode complicar as coisas quando você tem um computador aberto que só pode efetuar pull de imagens do endereço do registro de contêiner privado. Nesse caso, as tentativas de seguir a camada estrangeira para obter a imagem base não funcionarão. Para substituir o comportamento da camada estrangeira, você pode usar o sinalizador --allow-nondistributable-artifacts no daemon do Docker.

Importante

O uso desse sinalizador não exclui sua obrigação de cumprir os termos da licença de imagem base do contêiner do Windows; você não deve postar o conteúdo do Windows para redistribuição pública ou de terceiros. O uso no próprio ambiente é permitido.

Comentários adicionais

Deseja adicionar algo às perguntas frequentes? Abra um novo problema de comentário na seção de comentários ou configure uma solicitação de pull para esta página com o GitHub.