Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Os contêineres são uma tecnologia para empacotamento e execução de aplicativos Windows e Linux em diferentes ambientes locais e na nuvem. Os contêineres fornecem um ambiente leve e isolado que torna os aplicativos mais fáceis de desenvolver, implantar e gerenciar. Os contêineres iniciam e param rapidamente, tornando-os ideais para aplicativos que precisam se adaptar rapidamente a demandas que se alteram. A natureza leve dos contêineres também os torna uma ferramenta útil para aumentar a densidade e a utilização de sua infraestrutura.
O ecossistema de contêiner da Microsoft
A Microsoft fornece muitas ferramentas e plataformas para ajudá-lo a desenvolver e implantar aplicativos em contêineres:
Execute contêineres baseados em Windows ou Linux no Windows 10 para desenvolvimento e teste usando o Docker Desktop, que usa a funcionalidade de contêineres interna do Windows. Você também pode executar contêineres de forma nativa no Windows Server.
Desenvolva, teste, publique e implante contêineres baseados no Windows usando o poderoso suporte de contêiner do Visual Studio e do Visual Studio Code, que incluem suporte para Docker, Docker Compose, Kubernetes, Helm e outras tecnologias úteis.
Publique seus aplicativos como imagens de contêiner no DockerHub público para o uso de outras pessoas, ou em um Registro de Contêiner do Azure particular para o desenvolvimento e implantação da sua própria organização, enviando e extraindo diretamente de dentro do Visual Studio e Visual Studio Code.
Implante contêineres em escala no Azure ou em outras nuvens:
Realize o download do seu aplicativo de um registro de contêiner, como o Registro de Contêiner do Azure, e depois implante-o e gerencie-o em larga escala usando um orquestrador, como o Azure Kubernetes Service (AKS).
O Serviço de Kubernetes do Azure implanta contêineres em máquinas virtuais do Azure e os gerencia em escala. Você pode executar dezenas, centenas ou até mesmo milhares de contêineres.
As máquinas virtuais do Azure executam uma imagem personalizada do Windows Server para aplicativos baseados no Windows ou uma imagem personalizada do Ubuntu Linux para aplicativos baseados em Linux.
Implante contêineres localmente usando o AKS (Serviço de Kubernetes do Azure) habilitado pelo Azure Arc, pelo mecanismo AKS no Azure Stack Hub ou pelo Azure Stack Hub com o OpenShift. Você também pode configurar o Kubernetes por conta própria no Windows Server. Para obter mais informações, consulte Kubernetes no Windows. A Microsoft também está desenvolvendo suporte para contêineres do Windows na Plataforma de Contêiner do RedHat OpenShift.
Como os contêineres funcionam
Um contêiner é um pacote leve e isolado usado para executar um aplicativo no sistema operacional do host. Os contêineres são executados sobre o kernel do sistema operacional host (que você pode considerar como a infraestrutura oculta do sistema operacional), conforme mostrado no diagrama a seguir.
Embora um contêiner compartilhe o kernel do sistema operacional do host, o contêiner não obtém acesso irrestrito a ele. Em vez disso, o contêiner obtém uma exibição isolada – e, em alguns casos, virtualizada – do sistema. Por exemplo, um contêiner pode acessar uma versão virtualizada do sistema de arquivos e do registro, mas todas as alterações afetam apenas o contêiner e são descartadas quando ele para. Para salvar dados, o contêiner pode montar um armazenamento persistente, como um Disco do Azure ou um compartilhamento de arquivo como Arquivos do Azure.
Um contêiner se baseia no kernel, mas o kernel não fornece todas as APIs e serviços que um aplicativo precisa executar. A maioria dessas APIs e serviços vem de arquivos do sistema (bibliotecas) executados acima do kernel no modo de usuário. Como um contêiner é isolado do ambiente de modo de usuário do host, o contêiner precisa de sua própria cópia desses arquivos do sistema de modo de usuário. Esses arquivos são empacotados em algo conhecido como uma imagem base. A imagem base serve como a camada fundamental na qual você cria seu contêiner, fornecendo-lhe serviços do sistema operacional não fornecidos pelo kernel.
Contêineres vs. máquinas virtuais
Ao contrário de um contêiner, uma VM (máquina virtual) executa um sistema operacional completo, incluindo seu próprio kernel, conforme mostrado no diagrama a seguir.
Contêineres e máquinas virtuais têm seus usos cada um. Na verdade, muitas implantações de contêineres usam máquinas virtuais como o sistema operacional host em vez de serem executadas diretamente no hardware, especialmente ao executar contêineres na nuvem.
Para obter mais informações sobre as semelhanças e diferenças dessas tecnologias complementares, consulte Contêineres versus máquinas virtuais.
Imagens de contêiner
Você cria todos os contêineres com base em imagens de contêiner. A imagem de contêiner é um pacote de arquivos organizados em uma pilha de camadas que reside em seu computador local ou em um registro de contêiner remoto. Uma imagem de contêiner consiste nos arquivos do sistema operacional do modo de usuário que seu aplicativo precisa executar. A imagem também inclui os runtimes, dependências e quaisquer arquivos de configuração que seu aplicativo necessita.
A Microsoft oferece várias imagens (chamadas de imagens base) que você pode usar como um ponto de partida para criar sua própria imagem de contêiner:
- Windows: contém o conjunto completo de APIs do Windows e serviços do sistema (menos funções de servidor).
- Windows Server: contém o conjunto completo de APIs do Windows e serviços do sistema.
- Windows Server Core: uma imagem menor que contém um subconjunto das APIs do Windows Server, ou seja, o .NET Framework completo. Ele também inclui a maioria, mas nem todas as funções de servidor (por exemplo, o Servidor de Fax não está incluído).
- Nano Server: a menor imagem do Windows Server, com suporte para as APIs do .NET Core e algumas funções de servidor.
As imagens de contêiner são compostas por uma série de camadas. Cada camada contém um conjunto de arquivos que, quando sobrepostos, representam a imagem de contêiner. Devido à natureza em camadas dos contêineres, nem sempre é necessário especificar uma imagem base para construir um contêiner Windows. Em vez disso, você pode direcionar para outra imagem que já carrega a estrutura desejada. Por exemplo, a equipe do .NET publica uma imagem do .NET Core que carrega o runtime do .NET Core. Ela evita que os usuários precisem duplicar o processo de instalação do .NET Core – em vez disso, eles podem reutilizar as camadas dessa imagem de contêiner. A própria imagem do .NET Core é criada com base no Nano Server.
Para obter mais informações, consulte Imagens base de contêiner.
Usuários do contêiner
Contêineres para desenvolvedores
Os contêineres ajudam os desenvolvedores a criar e enviar aplicativos de alta qualidade com mais rapidez. Com contêineres, os desenvolvedores podem criar uma imagem de contêiner que é implantada em segundos, de forma idêntica entre os ambientes. Os contêineres atuam como um mecanismo fácil para compartilhar código entre as equipes e para inicializar um ambiente de desenvolvimento sem afetar o sistema de arquivos do host.
Os contêineres são portáteis e versáteis, podem executar aplicativos escritos em qualquer linguagem e são compatíveis com qualquer computador que esteja executando o Windows 10 versão 1607 ou posterior ou o Windows Server 2016 ou posterior. Os desenvolvedores podem criar e testar um contêiner localmente em seu laptop ou desktop e, em seguida, implantar essa mesma imagem de contêiner na nuvem privada, na nuvem pública ou no provedor de serviços da empresa. A agilidade natural dos contêineres dá suporte a padrões de desenvolvimento de aplicativos modernos em ambientes de nuvem virtualizados em larga escala. O benefício mais útil para os desenvolvedores talvez seja a capacidade de isolar o ambiente para que o aplicativo sempre obtenha a versão das bibliotecas especificadas, evitando conflitos com dependências.
Contêineres para profissionais de TI
Os contêineres ajudam os administradores a criar uma infraestrutura mais fácil de atualizar e de manter, e que utiliza os recursos de hardware de forma mais completa. Os profissionais de TI podem usar contêineres para fornecer ambientes padronizados para suas equipes de desenvolvimento, garantia de qualidade e produção. Ao usar contêineres, os administradores de sistemas afastam as diferenças em instalações do sistema operacional e da infraestrutura subjacente.
Você também pode usar o modo interativo de contêineres para executar instâncias conflitantes de uma ferramenta de linha de comando no mesmo sistema.
Orquestração de contêineres
Orquestradores são uma parte essencial da infraestrutura ao configurar um ambiente baseado em contêiner. Orquestradores são essenciais ao gerenciar aplicativos em contêineres em escala. Embora você possa gerenciar alguns contêineres manualmente usando o Docker e o Windows, os aplicativos geralmente usam cinco, dez ou até centenas de contêineres, tornando os orquestradores indispensáveis.
Os orquestradores de contêiner foram criados para ajudar a gerenciar contêineres em escala e em produção. Os orquestradores fornecem funcionalidade para:
Os orquestradores ajudam você a desenvolver aplicativos em contêineres em escala, fornecendo uma funcionalidade para:
- Implantação em escala
- Agendamento de carga de trabalho
- Monitoramento de integridade
- Execução de failover quando um nó falha
- Dimensionamento para cima ou para baixo
- Rede
- Descoberta de serviço
- Coordenação de atualizações de aplicativo
- Afinidade de nó de cluster
Há muitos orquestradores diferentes que você pode usar com contêineres do Windows; aqui estão as opções que a Microsoft fornece:
- AKS (Serviço de Kubernetes do Azure): use um serviço gerenciado de Kubernetes do Azure
- AKS (Serviço de Kubernetes do Azure) no Azure Stack HCI: use o Serviço de Kubernetes do Azure no local
Experimente contêineres no Windows
Para começar a usar contêineres no Windows Server ou no Windows 10, consulte o seguinte artigo:
Para obter ajuda para decidir quais serviços do Azure são adequados para seu cenário, consulte os serviços de contêiner do Azure e escolher quais serviços do Azure usar para hospedar seu aplicativo.
Recursos
Para exibir recursos para usar contêineres do Windows Server, consulte os seguintes recursos:
Para problemas atuais e atualizações de recursos planejadas, consulte o repositório GitHub de contêineres do Windows.
Confira o blog: Blog de Contêineres do Windows.
Para entrar em contato com a equipe de contêineres do Windows Server, envie um email para o grupo Clientes de Contêineres do Windows.