Explore Docker

Concluído

O administrador do Windows Server da Contoso precisa entender o Docker, os contêineres do Docker, os tempos de execução do contêiner e como eles podem ser executados no Windows Server.

Visão geral dos tempos de execução do Docker e do contêiner

é uma empresa que reuniu uma coleção de ferramentas de código aberto, soluções e serviços baseados em nuvem que fornecem um modelo comum para empacotar (também conhecido como containerização) código de aplicativo em uma unidade padronizada para desenvolvimento de software. Essa unidade padronizada, chamada de contêiner Docker, é um software envolvido em um sistema de arquivos completo que inclui tudo o que ele precisa para ser executado: código, tempo de execução, ferramentas do sistema, bibliotecas do sistema e qualquer coisa que você possa instalar em um servidor.

Para dar suporte a um contêiner do Docker, há dois componentes subjacentes que entram em ação e que geralmente são ocultos ou despercebidos pelo usuário que executa um contêiner. Esses dois componentes são o tempo de execução do contêiner e os recursos do sistema operacional para suportar contêineres. No Windows Server, o recurso que oferece suporte ao contêiner do Docker é simplesmente chamado de "Contêineres". Esse recurso interage com um componente chamado Host Compute Service (HCS). O HCS é responsável por orquestrar a plataforma de virtualização no Windows Server e é a API inferior que oferece suporte a contêineres e VMs Hyper-V.

Acima do recurso do sistema operacional que agenda contêineres, está um tempo de execução do contêiner. Um tempo de execução de contêiner fica entre a CLI, a interface do usuário ou o orquestrador de contêiner e o recurso subjacente do sistema operacional. É tarefa do tempo de execução do contêiner traduzir comandos do usuário ou orquestrador de contêiner para os recursos da plataforma do sistema operacional. Por exemplo, quando você pede à CLI do Docker para executar um novo contêiner, a CLI interage com o tempo de execução do contêiner, que, por sua vez, envia o comando para o sistema operacional de uma forma que ele entenda. Os tempos de execução do contêiner existem para que as camadas acima não precisem saber como o sistema operacional espera receber comandos. Do ponto de vista do usuário, isso é importante porque diferentes tempos de execução de contêiner terão recursos e capacidades diferentes.

Captura de ecrã da descrição da interface do utilizador gerada automaticamente.

Há muitos tempos de execução de contêiner diferentes disponíveis para executar contêineres no Windows Server. Os mais comuns são:

  • Projeto Moby. Moby é o projeto de código aberto a partir do qual o Docker constrói seus projetos comerciais. No Windows Server, o Moby é um projeto com suporte da comunidade que aproveita o dockerd como o tempo de execução do contêiner. O Moby é ideal para testar contêineres no Windows Server. Quando instalado, o Moby fornece não apenas o tempo de execução do contêiner dockerd, mas também a CLI para interagir com contêineres no Windows Server.

Atenção

Dockerd no Windows e Windows Server usa HCSv1. No Linux, Moby mudou para usar containerd como o tempo de execução do contêiner. Atualmente, há trabalho acontecendo para mover o Moby para containerD no Windows, aproveitando a interface HCSv2 mais recente e aprimorada.

  • ContentorD. ContainerD é um tempo de execução de contêiner de código aberto e foi recentemente estabelecido como o tempo de execução de contêiner preferido para ambientes Kubernetes. O ContainerD pode ser usado em ambientes de produção e é o tempo de execução de contêiner padrão para o Windows Server 2022 quando executado em ambientes Kubernetes. Quando instalado, o ContainerD não fornece uma CLI para interagir com contêineres. Outras CLIs de código aberto, como CRICTL ou NerdCTL, podem ser usadas.

  • Mirantes Container Runtime (MCR). O MCR, formalmente conhecido como Docker Enterprise Edition (Docker EE), fornece a mesma funcionalidade que o Docker CE, além de recursos extras criados especificamente para implantações corporativas. O MCR é recomendado ao usar o Docker Swarm como o orquestrador de contêineres. Quando instalado, o MCR fornece o tempo de execução do contêiner e a mesma experiência de CLI que o Docker e o Moby.

Nota

Outro componente chamado Docker Desktop para Windows pode ser usado no Windows 10 e 11 para fins de desenvolvimento.

Executar contêineres no Windows Server

Antes de executar contêineres no Windows Server, você precisa descobrir qual tempo de execução de contêiner deseja usar em seu ambiente. O tempo de execução do contêiner ditará o processo de instalação que você precisa seguir. Para obter mais informações sobre as opções no Windows Server e como instalá-las, consulte como preparar o host do Windows Server para contêineres.

Importante

Se você planeja usar o modo de isolamento do Hyper-V para seus contêineres, também precisará instalar a função de servidor Hyper-V no servidor host. Além disso, se o próprio servidor host for uma VM, você precisará habilitar a virtualização aninhada antes de instalar a função Hyper-V. Como o Windows 10 e 11 executa contêineres baseados no Windows por padrão no modo de isolamento do Hyper-V, para dar suporte a esse modo padrão, o recurso Hyper-V deve ser instalado no ambiente de host do Windows 10 e 11.

O hub do Docker

Os contêineres são criados em imagens de contêiner, e essas imagens podem ser armazenadas em repositórios. Os repositórios funcionam como um local onde você pode criar, armazenar, proteger e compartilhar imagens de contêiner. O Docker Hub é um serviço de biblioteca online baseado na Web, gerenciado pelo Docker, no qual você pode:

  • Registre, armazene e gerencie suas próprias imagens do Docker em um repositório online e compartilhe-as com outras pessoas.

  • Acesse mais de 100.000 imagens de contêiner de fornecedores de software, projetos de código aberto e outros membros da comunidade.

Registro de contêiner da Microsoft

A Microsoft fornece imagens de contêiner por meio do Microsoft Container Registry (MCR) em mcr.microsoft.com. Esta é a fonte oficial das imagens de contêiner fornecidas pela Microsoft. Independentemente de onde as imagens de contêiner da Microsoft são descobertas, a fonte de pull é mcr.microsoft.com.

Nota

O Registro de Contêiner do Azure é um serviço do Azure que você pode usar para criar seu próprio repositório de imagens de contêiner. Você pode usar esse repositório para armazenar e gerenciar imagens para todos os tipos de implantação de contêiner.