Exercício – implementar uma imagem do Docker numa Instância de Contentor do Azure
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, você pode executar 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
Inicie sessão no portal do Azure com a sua subscrição do Azure.
No menu de recursos ou na página inicial , selecione Criar um recurso. O painel Criar um recurso é exibido.
No menu, selecione Contêineres e, em seguida, selecione Registro de Contêiner.
O painel do Registro Criar contêiner é exibido.
Na guia Noções básicas, insira os seguintes valores para cada configuração.
Definição Value 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. Location Selecione um local próximo a você. Usar zonas de disponibilidade Aceite o padrão. Plano de preços Standard 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.
Selecione Ir para recurso. O painel Registro de contêiner exibe elementos essenciais sobre seu registro de contêiner.
No menu de recursos, em Configurações, selecione Teclas de acesso. O painel Chaves de acesso para o registro do contêiner é exibido.
Se a configuração de usuário Admin estiver desabilitada, marque a caixa ao lado da chave de acesso de usuário Admin. O nome de usuário e as senhas aparecem para o registro do contêiner.
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 o Microsoft Entra ID Protection assim que você estiver satisfeito que o registro está funcionando conforme o esperado.
Carregar a imagem da aplicação do sistema de reservas de hotéis para o Azure Container Registry
No prompt de comando local, execute o seguinte comando, substituindo
<registry-name>
pelo nome do registro do contêiner para marcar a imagem atualreservationsystem
com o nome do registro:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
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
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.
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.
No portal do Azure, retorne ao seu registro de contêiner.
No menu de recursos, em Serviços, selecione Repositórios. O painel Repositórios do seu registro de contêiner é exibido.
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.
Carregar e executar uma imagem com a Instância de Contentor do Azure
No portal do Azure, selecione Criar um recurso. O painel Criar um recurso é exibido.
No menu de recursos, selecione Contêineres e, em seguida, selecione Instâncias de contêiner.
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.
Na guia Noções básicas, insira os seguintes valores para cada configuração.
Definição Value 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 País/Região Utilizar a localização predefinida Zonas de disponibilidade Aceitar padrão SKU Standard Origem da imagem Outro registo 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 Selecione Next: Networking.
Na guia Rede, insira os seguintes valores para cada configuração.
Definição Value Tipo de rede Público Etiqueta de 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 Next: Avançado.
Na guia Avançado, insira os seguintes valores para cada configuração.
Definição Value Política de reinício Sempre Variáveis de ambiente Deixe todas as configurações em branco Substituição do comando deixar em branco Selecione Rever + criar. Aguarde a conclusão da validação e corrija quaisquer erros, se necessário.
Selecione Criar.
Quando a instância do contêiner tiver sido criada, selecione Ir para o recurso. O painel de instâncias do contêiner é exibido.
No painel Visão geral, localize o nome de domínio totalmente qualificado (FQDN) da instância do contêiner.
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 sua instância de 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.