Exercício – Implantar uma imagem do Docker em uma Instância de Contêiner do Azure
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
Entre no portal do Azure com a sua assinatura do Azure.
No menu de recursos ou na home page, selecione Criar um recurso. O painel Criar um recurso será exibido.
No menu, escolha Contêineres e selecione Registro de Contêiner.
O painel Criar registro de contêiner é exibido.
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. Localidade Selecione um local perto de você. Usar zonas de disponibilidade Aceite o padrão. Plano de preços Standard 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.
Selecione Ir para o recurso. O painel Registro de contêiner exibe conceitos básicos sobre o seu registro de contêiner.
No menu de recursos, em Configurações, selecione Chaves de acesso. O painel Chaves de acesso do seu registro de contêiner será exibido.
Se a configuração do usuário administrador estiver desabilitada, marque a caixa ao lado da chave de acesso do usuário administrador. O nome de usuário e as senhas são exibidos para o seu registro de contêiner.
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.
Faça upload da imagem no aplicativo do sistema de reservas do hotel para o Registro de Contêiner do Azure
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 imagemreservationsystem
atual com o nome do registro:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
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
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.
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.
Verificar o conteúdo do registro
Para o restante do exercício, você retornará ao portal do Azure.
No portal do Azure, retorne ao registro de contêiner.
No menu de recursos, em Serviços, selecione Repositórios. O painel Repositórios do registro de contêiner será exibido.
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.
Carregar e executar uma imagem usando a Instância de Contêiner do Azure
No portal do Azure, selecione Criar um recurso. O painel Criar um recurso será exibido.
No menu de recursos, escolha Contêineres e Instâncias de Contêiner.
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.
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 Zonas de disponibilidade Aceitar padrão SKU Standard Fonte da imagem 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 Selecione Avançar: Rede.
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. Reutilização do escopo do rótulo de nome DNS Aceitar padrão Portas Portas 80 Protocolo de portas TCP Selecione Próximo: Avançado.
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 Selecione Examinar + criar. Aguarde a conclusão da validação e corrija erros se necessário.
Selecione Criar.
Depois de criar a instância de contêiner, selecione Ir para o recurso. O painel da instância de contêiner será exibido.
No painel Visão Geral, localize o FQDN (nome de domínio totalmente qualificado) da instância de contêiner.
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.