Partilhar via


Criar um aplicativo Web Python em contêiner no Azure

Nesta parte da série de tutoriais, você aprenderá a criar um aplicativo Web Python em contêiner diretamente no Registro de Contêiner do Azure sem instalar o Docker localmente. Criar a imagem do Docker no Azure geralmente é mais rápido e fácil do que criar a imagem localmente e, em seguida, enviá-la por push para o Registro de Contêiner do Azure. Além disso, a criação de imagens baseada em nuvem elimina a necessidade de execução do Docker em seu ambiente de desenvolvimento.

O Serviço de Aplicativo permite executar aplicativos Web em contêineres e implantá-los por meio dos recursos de integração contínua/implantação contínua (CI/CD) do Docker Hub, do Registro de Contêiner do Azure e do Visual Studio Team Services. Este artigo é a parte 3 de uma série de tutoriais de 5 partes sobre como contentorizar e implementar uma aplicação Web Python no Serviço de Aplicações do Azure. Nesta parte do tutorial, você aprenderá a criar o aplicativo Web Python em contêiner no Azure.

O Serviço de Aplicativo do Azure permite implantar e executar aplicativos Web em contêineres usando pipelines de CI/CD de plataformas como o Docker Hub, o Registro de Contêiner do Azure e o Azure DevOps. Este artigo é parte 3 de uma série de tutoriais de 5 partes.

Na parte 2 desta série de tutoriais , você criou e executou a imagem do contêiner localmente. Por outro lado, nesta parte do tutorial, você cria (conteineriza) o mesmo aplicativo Web Python diretamente em uma imagem do Docker no Registro de Contêiner do Azure. Criar a imagem no Azure normalmente é mais rápido e fácil do que criar localmente e, em seguida, enviar a imagem para um registro. Além disso, a criação na nuvem não exige que o Docker esteja em execução em seu ambiente de desenvolvimento.

Quando a imagem do Docker estiver no Registro de Contêiner do Azure, ela poderá ser implantada no Serviço de Aplicativo do Azure.

Este diagrama de serviço destaca os componentes abordados neste artigo.

Uma captura de tela dos serviços usando no Tutorial - Aplicativo Python em contêineres no Azure com o caminho de compilação na nuvem realçado.

Criar um Registro de Contêiner do Azure

Se você tiver um Registro de Contêiner do Azure existente que deseja usar, ignore esta próxima etapa e prossiga para a próxima etapa. Caso contrário, crie um novo Registro de Contêiner do Azure usando a CLI do Azure.

Os comandos da CLI do Azure podem ser executados no Azure Cloud Shell ou em seu ambiente de desenvolvimento local com a CLI do Azure instalada.

Observação

Use os mesmos nomes que na parte 2 desta série de tutoriais.

  1. Crie um registro de contêiner do Azure com o comando az acr create .

    #!/bin/bash
    # Use the resource group that you created in part 2 of this tutorial series.
    RESOURCE_GROUP_NAME='msdocs-web-app-rg'
    # REGISTRY_NAME must be unique within Azure and contain 5-50 alphanumeric characters.
    REGISTRY_NAME='msdocscontainerregistryname'
    
    echo "Creating Azure Container Registry $REGISTRY_NAME..."
    az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku Standard
    

    Na saída JSON do comando, localize o valor loginServer. Esse valor representa o nome de registo completo (em minúsculas) e contém o nome do registo.

  2. Se você estiver usando a CLI do Azure em sua máquina local, execute o comando az acr login para fazer logon no registro do contêiner.

    az acr login -n $REGISTRY_NAME
    

    O comando adiciona "azurecr.io" ao nome para criar o nome de registro totalmente qualificado. Se tiver sucesso, verá a mensagem "Login com sucesso".

    Observação

    No Azure Cloud Shell, o az acr login command não é necessário, pois a autenticação é tratada automaticamente por meio de sua sessão do Cloud Shell. No entanto, se você encontrar problemas de autenticação, ainda poderá usá-lo.

Criar uma imagem no Registro de Contêiner do Azure

Você pode gerar a imagem de contêiner diretamente no Azure por meio de várias abordagens:

  • O Azure Cloud Shell permite que você construa a imagem inteiramente na nuvem, independentemente do seu ambiente local.
  • Como alternativa, você pode usar o VS Code ou a CLI do Azure para criá-lo no Azure a partir de sua configuração local, sem precisar que o Docker esteja sendo executado localmente.

Os comandos da CLI do Azure podem ser executados em seu ambiente de desenvolvimento local com a CLI do Azure instalada ou no Azure Cloud Shell.

  1. No console, navegue até a pasta raiz do repositório clonado da parte 2 desta série de tutoriais.

  2. Crie a imagem do contêiner usando o comando az acr build .

    az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest .
    # When using Azure Cloud Shell, run one of the following commands instead:
    # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git
    # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git
    

    O último argumento no comando é o caminho totalmente qualificado para o repo. Ao executar no Azure Cloud Shell, use https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git para o aplicativo de exemplo Django e https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git para o aplicativo de exemplo Flask.

  3. Confirme se a imagem do contêiner foi criada com o comando az acr repository list.

    az acr repository list -n $REGISTRY_NAME
    

Próximo passo