Entender contêineres

Concluído

Quando você implanta um serviço de software, ele deve ser hospedado em um ambiente que forneça o hardware, o sistema operacional e os componentes de runtime de suporte dos quais o serviço depende.

Os serviços de IA do Azure são fornecidos como um serviço de nuvem, no qual o software do serviço é hospedado em um data center do Azure que fornece os serviços de runtime, sistema operacional e hardware subjacentes. No entanto, você também pode implantar alguns serviços de IA do Azure em um contêiner, que encapsula os componentes de runtime necessários e que, por sua vez, são implantados em um host de contêiner que fornece o sistema operacional e hardware subjacentes.

Diagram of a container host with 4 containers

O que é um contêiner?

Um contêiner consiste em um aplicativo ou serviço e nos componentes de runtime necessários para executá-lo, ao mesmo tempo que abstrai o sistema operacional subjacente e o hardware. Na prática, essa abstração resulta em dois benefícios significativos:

  • Os contêineres são portáveis entre hosts, que podem estar executando sistemas operacionais diferentes ou usar hardware diferente – tornando mais fácil mover um aplicativo e todas as suas dependências.
  • Um único host de contêiner pode dar suporte a vários contêineres isolados, cada um com sua própria configuração de runtime específica – facilitando a consolidação de vários aplicativos com diferentes requisitos de configuração.

Um contêiner é encapsulado em uma imagem de contêiner que define o software e a configuração a que ele deve dar suporte. As imagens podem ser armazenadas em um registro central, como o Docker Hub, ou você pode manter um conjunto de imagens em seu próprio registro.

Implantação de contêiner

Para usar um contêiner, você normalmente extrai a imagem de contêiner de um registro e a implanta em um host do contêiner, especificando quaisquer definições de configuração necessárias. O host do contêiner pode estar na nuvem, em uma rede privada ou em seu computador local. Por exemplo:

  • Um servidor do Docker*.
  • Uma ACI (Instância de Contêiner do Azure).
  • Um cluster do AKS (Serviço de Kubernetes do Azure).

*Docker é uma solução de software livre para desenvolvimento e gerenciamento de contêineres que inclui um mecanismo de servidor que pode ser usado para hospedar contêineres. Há versões do servidor Docker para sistemas operacionais comuns, incluindo Microsoft Windows e Linux.

Dica

Para saber mais sobre contêineres, confira o módulo Introdução aos contêineres do Docker no Microsoft Learn.