Compartilhar via


Criar um aplicativo Web Python em contêineres no Azure

Nesta parte da série de tutoriais, você aprenderá a criar um aplicativo Web Python em contêineres diretamente no Registro de Contêiner do Azure sem instalar o Docker localmente. A criação da imagem do Docker no Azure geralmente é mais rápida e fácil do que criar a imagem localmente e, em seguida, efetuá-la por push para o Registro de Contêiner do Azure. Além disso, a criação de imagens baseadas em nuvem elimina a necessidade de o Docker ser executado 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 CI/CD (integração contínua/implantação contínua) do Hub do Docker, 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 cinco partes sobre como colocar e implantar um aplicativo Web Python no Serviço de Aplicativo do Azure. Nesta parte do tutorial, você aprenderá a criar o aplicativo Web Python em contêineres 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 Hub do Docker, o Registro de Contêiner do Azure e o Azure DevOps. Este artigo é a 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 de contêiner localmente. Por outro lado, nesta parte do tutorial, você cria (em contêineres) o mesmo aplicativo Web Python diretamente em uma imagem do Docker no Registro de Contêiner do Azure. A criação da imagem no Azure normalmente é mais rápida e fácil do que criar localmente e, em seguida, enviar a imagem por push 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.

Depois que 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 realça os componentes abordados neste artigo.

Uma captura de tela dos serviços que usam no Tutorial – Aplicativo Python em contêineres no Azure com o caminho de build 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.

Nota

Use os mesmos nomes da 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 do registro totalmente qualificado (todos minúsculos) e contém o nome do registro.

  2. Se você estiver usando o CLI do Azure em seu computador local, execute o comando az acr login para fazer logon no registro de container.

    az acr login -n $REGISTRY_NAME
    

    O comando adiciona "azurecr.io" ao nome para criar o nome do Registro totalmente qualificado. Se tiver sucesso, você verá a mensagem "Logon bem-sucedido".

    Nota

    No Azure Cloud Shell, o az acr login command não é necessário, pois a autenticação é tratada automaticamente por meio da 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 de 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 repositório. Ao executar no Azure Cloud Shell, use https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git para o aplicativo de exemplo do Django e https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git para o aplicativo de exemplo do Flask.

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

    az acr repository list -n $REGISTRY_NAME
    

Próxima etapa