Exercício – Implantar uma imagem do Docker em uma Instância de Contêiner do Azure

Concluído

A Instância de Contêiner do Azure permite executar uma imagem do Docker no Azure.

No exercício anterior, você empacotou e testou o aplicativo Web como uma imagem do Docker local. Agora, você deseja usar a saída do exercício e disponibilizar o aplicativo Web globalmente. Para chegar a essa disponibilidade, execute a imagem como uma Instância de Contêiner do Azure.

Neste exercício, você recompilará a imagem do aplicativo Web e fará upload dela para o Registro de Contêiner do Azure. Você usará o serviço de Instância de Contêiner do Azure para executar a imagem.

Importante

É preciso ter uma assinatura do Azure para fazer esse exercício, e isso pode gerar encargos. Caso ainda não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar.

Criar um registro de contêiner

  1. Entre no portal do Azure com a sua assinatura do Azure.

  2. No menu de recursos ou na home page, selecione Criar um recurso. O painel Criar um recurso será exibido.

  3. No menu, escolha Contêineres e selecione Registro de Contêiner.

    Screenshot that shows Create a resource with Container Registry.

    O painel Criar registro de contêiner é exibido.

  4. Na guia Básico, insira os valores a seguir para cada configuração.

    Configuração Valor
    Detalhes do projeto
    Subscription Selecione a assinatura do Azure em que você tem permissão para criar e gerenciar recursos.
    Resource group Selecione Criar um grupo de recursos com o nome learn-deploy-container-aci-rg. Lembre-se do nome selecionado, pois você o utilizará no restante dos exercícios deste módulo. Além disso, lembre-se de limpar esse recurso quando terminar o módulo.
    Detalhes da instância
    Nome do registro Selecione um nome de sua preferência. O nome do registro deve ser exclusivo no Azure e conter de 5 a 50 caracteres alfanuméricos.
    Local Selecione uma localização perto de você.
    SKU Standard
  5. Selecione Examinar + criar. Selecione Criar quando aparecer a notificação de Validação aprovada. Aguarde até que o registro de contêiner tenha sido implantado antes de continuar.

  6. Selecione Ir para o recurso. O painel Registro de contêiner exibe conceitos básicos sobre o seu registro de contêiner.

  7. No menu de recursos, em Configurações, selecione Chaves de acesso. O painel Chaves de acesso do seu registro de contêiner será exibido.

  8. Se a configuração Usuário administrador estiver desabilitada, selecione o controle deslizante para habilitar a chave de acesso Usuário administrador. O nome de usuário e as senhas são exibidos para o seu registro de contêiner.

  9. Anote o Nome do registro, o Servidor de logon, o Nome de usuário e as Senhas do seu registro de contêiner.

    Observação

    Neste exercício, habilitamos o acesso à conta do administrador para carregar imagens e testar o registro. Em um ambiente de produção, é importante desabilitar o acesso à conta de usuário administrador e usar a Microsoft Entra ID Protection assim que o registro estiver funcionando conforme o esperado.

    Screenshot of the Access keys details.

Faça upload da imagem no aplicativo do sistema de reservas do hotel para o Registro de Contêiner do Azure

  1. No prompt de comando local, execute o comando a seguir, substituindo <registry-name> pelo nome do seu registro de contêiner, a fim de marcar a imagem reservationsystem atual com o nome do registro:

    docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
    
  2. Execute o comando docker image ls para verificar se a imagem foi marcada corretamente:

    docker image ls
    

    Você deverá ver algo semelhante à seguinte saída:

    REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
    reservationsystem                             latest              a56281e7038f        4 minutes ago       1.76GB
    <registry-name>.azurecr.io/reservationsystem  latest              a56281e7038f        4 minutes ago       1.76GB
    
  3. No prompt de comando, entre no Registro de Contêiner do Azure. Use o comando docker login e especifique o servidor de logon do registro anotado anteriormente. Quando solicitado, insira o nome de usuário e a senha das chaves de acesso.

    docker login <login-server>
    

    Observação

    Talvez você receba uma resposta de erro de um daemon indicando que seu aplicativo não está registrado no Microsoft Entra ID. Conforme visto anteriormente neste exercício, você habilitou a chave de acesso do usuário administrador para testar a implantação.

  4. Insira o comando a seguir, substituindo <registry-name> pelo nome do seu registro para carregar a imagem no registro do Registro de Contêiner do Azure:

    docker push <registry-name>.azurecr.io/reservationsystem:latest
    

    Aguarde até que o upload seja concluído. Esse processo levará vários minutos para efetuar push de todos os objetos da imagem para o repositório. Você pode observar o progresso à medida que cada objeto avança de Aguardando para Preparando, para Efetuando push e, por fim, para Push concluído.

Verifique o conteúdo do registro

Para o restante do exercício, você retornará ao portal do Azure.

  1. No portal do Azure, retorne ao registro de contêiner.

  2. No menu de recursos, em Serviços, selecione Repositórios. O painel Repositórios do registro de contêiner será exibido.

  3. Verifique se o repositório reservationsystem é exibido. Selecione o repositório reservationsystem e verifique se ele contém uma imagem com a marca mais recente.

    Screenshot showing the repository and tagged reservation system container image in the registry.

Carregar e executar uma imagem usando a Instância de Contêiner do Azure

  1. No portal do Azure, selecione Criar um recurso. O painel Criar um recurso será exibido.

  2. No menu de recursos, escolha Contêineres e Instâncias de Contêiner.

    Screenshot showing Container Instances.

    O painel Criar instância de contêiner será exibido.

    Há várias etapas para configurar uma Instância de Contêiner. Comece definindo as informações do grupo de recursos e os detalhes do contêiner. Em seguida, configure as opções de rede do contêiner e reinicie a política.

  3. Na guia Básico, insira os valores a seguir para cada configuração.

    Configuração Valor
    Detalhes do projeto
    Subscription Selecione a assinatura do Azure padrão em que você tem permissão para criar e gerenciar recursos.
    Resource group Reutilize o grupo de recursos existente chamado learn-deploy-container-aci-rg
    Detalhes do contêiner
    Nome do contêiner hotelsysteminstance
    Região Use a localização padrão
    Origem da imagem Docker Hub ou outro registro
    Tipo de imagem Privados
    Imagem <nome_do_registro>.azurecr.io/reservationsystem:latest
    Servidor de logon do registro de imagem Digite o nome do servidor de logon do registro
    Nome de usuário do registro da imagem Digite o nome de usuário do registro
    Senha do registro de imagem Digite a senha do registro
    Tipo de sistema operacional Linux
    Tamanho Deixe o Tamanho padrão definido como 1 vcpu, 1,5 GiB de memória, 0 gpus
  4. Selecione Avançar: Rede.

  5. Na guia Rede, insira os valores a seguir para cada configuração.

    Configuração Valor
    Tipo de rede Público
    Rótulo do nome DNS Escolha um nome exclusivo, que será usado como parte da URL do contêiner.
    Portas
    Portas 80
    Protocolo de portas TCP
  6. Selecione Próximo: Avançado.

  7. Na guia Avançado, insira os valores a seguir para cada configuração.

    Configuração Valor
    Política de reinicialização Sempre
    Variáveis de ambiente deixar todas as configurações em branco
    Substituição de comando deixar em branco
  8. Selecione Examinar + criar. Aguarde a conclusão da validação e corrija erros se necessário.

  9. Selecione Criar.

  10. Depois de criar a instância de contêiner, selecione Ir para o recurso. O painel da instância de contêiner será exibido.

  11. No painel Visão Geral, localize o FQDN (nome de domínio totalmente qualificado) da instância de contêiner.

    Screenshot that shows the New pane in Azure portal showing the Container properties with the FQDN highlighted.

  12. Em um navegador da Web, acesse a URL http://FQDN/api/reservations/1, substituindo FQDN pelo nome de domínio totalmente qualificado da instância de contêiner. Por exemplo, usar o FQDN visível na captura de tela acima seria como o seguinte:

    http://hotel.southcentralus.azurecontainer.io/api/reservations/1
    

    O aplicativo Web deve responder com um objeto JSON que contém os detalhes da reserva 1.

Parabéns! Você carregou a imagem do Docker no Registro de Contêiner do Azure e executou a imagem usando o serviço de Instância de Contêiner do Azure.