Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta série de tutoriais mostra como contentorizar uma aplicação Web Python e, em seguida, executá-la localmente ou implementá-la no Serviço de Aplicações do Azure. O Aplicativo Web para Contêineres do Serviço de Aplicativo permite que você se concentre na criação de contêineres sem se preocupar em gerenciar e manter um orquestrador de contêineres subjacente. Quando está a construir aplicações web, o Serviço de Aplicações do Azure é uma boa opção para dar os primeiros passos com containers. Esta aplicação web container pode usar uma instância local do MongoDB ou o Azure DocumentDB (com compatibilidade com MongoDB) para armazenar dados. Para obter mais informações sobre como usar contêineres no Azure, consulte Comparando opções de contêiner do Azure.
Neste tutorial, irá aprender a:
Crie e execute um contêiner do Docker localmente. Consulte Criar e executar um aplicativo Web Python em contêiner localmente.
Crie uma imagem de contêiner do Docker diretamente no Azure. Consulte Criar um aplicativo Web Python em contêiner no Azure.
Configure um Serviço de Aplicativo para criar um aplicativo Web com base na imagem do contêiner do Docker. Consulte Implantar um aplicativo Python em contêiner no Serviço de Aplicativo.
Depois de concluir os artigos desta série de tutoriais, tem a base para a Integração Contínua (CI) e a Implementação Contínua (CD) de uma aplicação web Python para o Azure.
Descrição geral do serviço
O diagrama de serviço que dá suporte a este tutorial mostra dois ambientes: ambiente do desenvolvedor e ambiente do Azure. Ele destaca os principais serviços do Azure usados no processo de desenvolvimento.
Ambiente de programador
O ambiente de desenvolvimento deste tutorial inclui os seguintes componentes:
Sistema de Desenvolvimento Local: Um computador pessoal usado para codificar, construir e testar o contêiner do Docker.
Containerização Docker: Docker é usada para empacotar a aplicação e as suas dependências num contentor portátil.
Ferramentas de Desenvolvimento: Um editor de código e outras ferramentas necessárias para o desenvolvimento de software.
Instância Local de MongoDB: Uma base de dados local de MongoDB usada para armazenamento de dados durante o desenvolvimento.
Conexão MongoDB: Uma cadeia de ligação que fornece acesso à base de dados local do MongoDB.
Ambiente do Azure
Os componentes que suportam o ambiente Azure neste tutorial incluem:
Serviço de Aplicações do Azure
- No Serviço de Aplicações do Azure, a Web App for Containers utiliza a tecnologia de contentores Docker para fornecer alojamento de contentores tanto para imagens incorporadas como para imagens personalizadas, utilizando o Docker.
- O Aplicativo Web para Contêineres usa um webhook no Registro de Contêiner do Azure (ACR) para ser notificado de novas imagens. Quando envias uma nova imagem para o registo, a notificação do webhook ativa o App Service para puxar a atualização e reiniciar a aplicação.
Registo de Contentores Azure
O Registro de Contêiner do Azure permite armazenar e gerenciar imagens do Docker e seus componentes no Azure. Fornece um registo localizado perto das suas implementações no Azure que lhe permite controlar o acesso usando os seus grupos Microsoft Entra e permissões.
Neste tutorial, o Registro de Contêiner do Azure é a fonte do Registro, mas você também pode usar o Docker Hub ou um registro privado com pequenas modificações.
Azure DocumentDB (com compatibilidade MongoDB)
O Azure DocumentDB é uma base de dados compatível com MongoDB utilizada neste tutorial para armazenamento de dados.
A aplicação containerizada liga-se e acede ao recurso Azure DocumentDB usando uma cadeia de ligação, que armazena como variável de ambiente e fornece à aplicação.
Autenticação
Neste tutorial, você cria uma imagem do Docker, localmente ou no Azure, e a implanta no Serviço de Aplicativo do Azure. O Serviço de Aplicativo extrai a imagem do contêiner de um repositório do Registro de Contêiner do Azure.
Para extrair imagens do repositório de forma segura, o App Service utiliza uma identidade gerida atribuída pelo sistema. Esta identidade gerida concede permissões à aplicação web para interagir com outros recursos do Azure, por isso não precisa de credenciais explícitas. Para este tutorial, configure a identidade gerida durante a configuração do App Service para usar uma imagem de contentor de registo.
O aplicativo Web de exemplo tutorial usa o MongoDB para armazenar dados. O código de exemplo liga-se ao Azure DocumentDB através de uma cadeia de ligação.
Pré-requisitos
Para concluir este tutorial, você precisa:
Uma conta do Azure onde você pode criar:
- Registo de Contentores Azure
- Serviço de Aplicações do Azure
- Azure DocumentDB (com compatibilidade MongoDB) (ou acesso a um equivalente). Para criar uma base de dados Azure DocumentDB, siga os passos da parte 2 deste tutorial.
Visual Studio Code ou CLI do Azure, dependendo da ferramenta de sua escolha. Se você usar o Visual Studio Code, precisará da extensão Docker e da extensão do Serviço de Aplicativo do Azure.
Estes pacotes Python:
- MongoDB Shell (mongosh) para conexão com o MongoDB.
- Flask ou Django como um framework web.
Docker instalado localmente.
Aplicativo de exemplo
O resultado final deste tutorial é um aplicativo de revisão de restaurante, implantado e em execução no Azure, que se parece com a captura de tela a seguir.
Neste tutorial, você cria um aplicativo de revisão de restaurante Python que utiliza o MongoDB para armazenamento de dados. Para obter um exemplo de aplicativo usando PostgreSQL, consulte Criar e implantar um aplicativo Web Flask no Azure com uma identidade gerenciada.