Exercício – implementar uma imagem do Docker numa Instância de Contentor do Azure

Concluído

A Instância de Contentor do Azure permite executar uma imagem do Docker no Azure.

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

Neste exercício, você aprenderá como reconstruir a imagem para o aplicativo Web e carregá-la no Registro de Contêiner do Azure. Irá utilizar o serviço de Instância de Contentor do Azure para executar a imagem.

Importante

Precisa da sua própria subscrição do Azure para executar este exercício e poderá incorrer em custos. Se ainda não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Criar um registo de contentores

  1. Inicie sessão no portal do Azure com a sua subscrição do Azure.

  2. No menu de recursos ou na página inicial , selecione Criar um recurso. O painel Criar um recurso é exibido.

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

    Screenshot that shows Create a resource with Container Registry.

    O painel do Registro Criar contêiner é exibido.

  4. Na guia Noções básicas, insira os seguintes valores para cada configuração.

    Definição valor
    Detalhes do projeto
    Subscrição Selecione sua assinatura do Azure na qual você tem permissão para criar e gerenciar recursos.
    Grupo de recursos Selecione Criar um novo grupo de recursos com o nome learn-deploy-container-aci-rg. Lembre-se do nome que selecionar; Você vai usá-lo no resto dos exercícios deste módulo. Além disso, lembre-se de limpar este recurso quando terminar o módulo.
    Detalhes da instância
    Nome de registo Selecione um nome de sua escolha. O nome do registo tem de ser exclusivo no Azure e pode incluir entre 5 a 50 carateres alfanuméricos.
    Localização Selecione uma localização perto de si.
    SKU Standard
  5. Selecione Rever + criar. Quando a notificação Validação passada for exibida, selecione Criar. Aguarde até que o registo de contentor tenha sido implementado para continuar.

  6. Selecione Ir para recurso. O painel Registro de contêiner exibe elementos essenciais sobre seu registro de contêiner.

  7. No menu de recursos, em Configurações, selecione Teclas de acesso. O painel Chaves de acesso para o registro do contêiner é exibido.

  8. Se a configuração de usuário Admin estiver desabilitada, selecione o controle deslizante para habilitar a chave de acesso de usuário Admin. O nome de usuário e as senhas aparecem para o registro do contêiner.

  9. Anote o nome do Registro, o servidor de login, o nome de usuário e as senhas do Registro do contêiner.

    Nota

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

    Screenshot of the Access keys details.

Carregar a imagem da aplicação do sistema de reservas de hotéis para o Azure Container Registry

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

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

    docker image ls
    

    Deverá ver algo semelhante ao resultado seguinte:

    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. Utilize o comando docker login e especifique o servidor de início de sessão do registo que anotou anteriormente. Digite o nome de usuário e a senha de suas chaves de acesso quando solicitado.

    docker login <login-server>
    

    Nota

    Você pode receber uma resposta de erro de um daemon que seu aplicativo não está registrado com o Microsoft Entra ID. Conforme observado anteriormente neste exercício, você habilitou a chave de acesso de usuário Admin para testar nossa implantação.

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

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

    Aguarde até que o carregamento seja concluído. Esse processo levará vários minutos para enviar 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 Empurrando para Empurrado.

Verificar o conteúdo do registo

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

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

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

  3. Certifique-se de que o repositório reservationsystem é apresentado. Selecione o repositório do sistema de reservas e verifique se o repositório contém uma imagem com a tag mais recente.

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

Carregar e executar uma imagem com a Instância de Contentor do Azure

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

  2. No menu de recursos, selecione Contêineres e, em seguida, selecione Instâncias de contêiner.

    Screenshot showing Container Instances.

    O painel Criar instância de contêiner é 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 Noções básicas, insira os seguintes valores para cada configuração.

    Definição valor
    Detalhes do projeto
    Subscrição Selecione sua assinatura padrão do Azure na qual você tem permissão para criar e gerenciar recursos
    Grupo de recursos Reutilizar o grupo de recursos existente learn-deploy-container-aci-rg
    Detalhes do contentor
    Nome do contentor hotelsysteminstance
    Região Utilizar a localização predefinida
    Origem da imagem Docker Hub ou outro registro
    Tipo de imagem Privado
    Image <nome-do-registo>.azurecr.io/reservationsystem:latest
    Servidor de início de sessão do registo de imagem Introduza o nome do servidor de início de sessão do seu registo
    Nome de utilizador do registo de imagem Introduza o nome de utilizador do seu registo
    Palavra-passe do registo de imagem Introduza a palavra-passe do seu registo de imagem
    Tipo de SO Linux
    Tamanho Deixe o Tamanho padrão definido como 1 vcpu, 1,5 GiB de memória, 0 gpus
  4. Selecione Next: Networking.

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

    Definição valor
    Tipo de rede Pública
    Etiqueta de 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 Next: Avançado.

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

    Definição valor
    Política de reinício Sempre
    Variáveis de ambiente Deixe todas as configurações em branco
    Substituição do comando deixar em branco
  8. Selecione Rever + criar. Aguarde a conclusão da validação e corrija quaisquer erros, se necessário.

  9. Selecione Criar.

  10. Quando a instância do contêiner tiver sido criada, selecione Ir para o recurso. O painel de instâncias do contêiner é exibido.

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

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

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

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

    O aplicativo Web deve responder com um objeto JSON contendo os detalhes da reserva 1.

Parabéns! Já carregou a imagem do Docker para o Azure Container Registry e executou-a através do serviço de Instância de Contentor do Azure.