Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta série de tutoriais mostra como colocar em contêiner um aplicativo Web Python e, em seguida, executá-lo localmente ou implantá-lo no Serviço de Aplicativo do Azure. O Serviço de Aplicativos Web App para Contêineres permite que você concentre-se no desenvolvimento de seus contêineres sem se preocupar em gerenciar e manter um orquestrador de contêiner subjacente. Ao criar aplicativos Web, o Serviço de Aplicativo do Azure é uma boa opção para executar suas primeiras etapas com contêineres. Esse aplicativo Web de contêiner pode usar uma instância local do MongoDB ou o MongoDB para o Azure Cosmos DB para armazenar dados. Para obter mais informações sobre como usar contêineres no Azure, consulte Comparando as opções de contêiner do Azure.
Neste tutorial, você:
Compile e execute um contêiner docker localmente. Consulte Compilar e executar um aplicativo Web Python em contêineres localmente.
Crie uma imagem de contêiner do Docker diretamente no Azure. Consulte Criar um aplicativo Web Python em contêineres no Azure.
Configure um Serviço de Aplicativo para criar um aplicativo Web com base na imagem de contêiner do Docker. Consulte Implantar um aplicativo Python em contêineres no Serviço de Aplicativo.
Depois de concluir os artigos nesta série de tutoriais, você terá a base para CI (Integração Contínua) e CD (Implantação Contínua) de um aplicativo Web Python para o Azure.
Visão geral do serviço
O diagrama de serviço compatível com este tutorial mostra dois ambientes: ambiente de desenvolvedor e ambiente do Azure. Ele destaca os principais serviços do Azure usados no processo de desenvolvimento.
Ambiente de desenvolvedor
Os componentes que dão suporte ao ambiente do desenvolvedor neste tutorial incluem:
sistema de desenvolvimento local: um computador pessoal usado para codificar, compilar e testar o contêiner do Docker.
Contêinerização do Docker: Docker é utilizado para empacotar o aplicativo e suas dependências em um contêiner portátil.
ferramentas de desenvolvimento: inclui um editor de código e outras ferramentas necessárias para o desenvolvimento de software.
Uma instância local do MongoDB: um banco de dados MongoDB local utilizado para armazenamento de dados durante o desenvolvimento.
Conexão do MongoDB: acesso ao banco de dados MongoDB local fornecido por meio de uma string de conexão.
Ambiente do Azure
Os componentes que dão suporte ao ambiente do Azure neste tutorial incluem:
-
- No Serviço de Aplicativo do Azure, o Aplicativo Web para Contêineres usa a tecnologia de contêiner Docker para fornecer hospedagem de contêiner de imagens internas e imagens personalizadas usando o Docker.
- O Aplicativo Web para Contêineres usa um webhook no ACR (Registro de Contêiner do Azure) para ser notificado sobre novas imagens. Quando uma nova imagem é enviada por push para o registro, a notificação de webhook dispara o Serviço de Aplicativo para efetuar pull da atualização e reiniciar o aplicativo.
registro de contêiner do Azure
O Registro de Contêiner do Azure permite que você armazene e gerencie imagens do Docker e seus componentes no Azure. Ele fornece um registro localizado perto de suas implantações no Azure que oferece a capacidade de controlar o acesso usando seus grupos e permissões do Microsoft Entra.
Neste tutorial, o Registro de Contêiner do Azure é a origem do registro, mas você também pode usar o Hub do Docker ou um registro privado com pequenas modificações.
-
O Azure Cosmos DB para MongoDB é um banco de dados NoSQL usado neste tutorial para armazenamento de dados.
O aplicativo em contêineres se conecta e acessa o recurso do Azure Cosmos DB usando uma cadeia de conexão, que é armazenada como uma variável de ambiente e fornecida ao aplicativo.
Autenticação
Neste tutorial, você criará uma imagem do Docker localmente ou no Azure e a implantará no Serviço de Aplicativo do Azure. O Serviço de Aplicativo extrai a imagem de contêiner de um repositório do Registro de Contêiner do Azure.
Para efetuar pull de imagens com segurança do repositório, o Serviço de Aplicativo utiliza uma identidade gerenciada atribuída pelo sistema. Essa identidade gerenciada concede permissões de aplicativo Web para interagir com outros recursos do Azure, eliminando a necessidade de credenciais explícitas. Para este tutorial, a identidade gerenciada é configurada durante a instalação do Serviço de Aplicativo para usar uma imagem de contêiner do Registro.
O aplicativo Web de exemplo do tutorial usa o MongoDB para armazenar dados. O código de exemplo se conecta ao Azure Cosmos DB por meio de uma cadeia de conexão.
Pré-requisitos
Para concluir este tutorial, você precisa:
Uma conta do Azure em que você pode criar:
- registro de contêiner do Azure
- Serviço de Aplicativo Azure
- Azure Cosmos DB para MongoDB (ou acesso a um equivalente). Para criar um banco de dados do Azure Cosmos DB para MongoDB, siga as etapas na parte 2 deste tutorial.
Visual Studio Code ou CLI do Azure, dependendo da sua ferramenta de escolha. Se você usar o Visual Studio Code, precisará da extensão Docker e da extensão de Serviço de Aplicativos do Azure.
Estes pacotes do Python:
- Shell do MongoDB (mongosh) para se conectar ao 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ê criará um aplicativo de revisão de restaurante Python que utiliza o MongoDB para armazenamento de dados. Para obter um aplicativo de exemplo usando PostgreSQL, consulte Criar e implantar um aplicativo Web Flask no Azure com uma identidade gerenciada.

