Partager via


Créer une application web Python conteneurisée dans Azure

Dans cette partie de la série de tutoriels, vous allez apprendre à créer une application web Python conteneurisée directement dans Azure Container Registry sans installer Docker localement. La création de l’image Docker dans Azure est souvent plus rapide et plus facile que de créer l’image localement, puis de la transmettre à Azure Container Registry. En outre, la génération d’images basée sur le cloud élimine la nécessité d’exécuter Docker dans votre environnement de développement.

App Service vous permet d’exécuter des applications web conteneurisées et de les déployer via les fonctionnalités d’intégration/de déploiement continu (CI/CD) de Docker Hub, d’Azure Container Registry et de Visual Studio Team Services. Cet article fait partie 3 d’une série de tutoriels en 5 parties sur la façon de conteneuriser et de déployer une application web Python sur Azure App Service. Dans cette partie du tutoriel, vous allez apprendre à générer l’application web Python conteneurisée dans Azure.

Azure App Service vous permet de déployer et d’exécuter des applications web conteneurisées à l’aide de pipelines CI/CD à partir de plateformes telles que Docker Hub, Azure Container Registry et Azure DevOps. Cet article fait partie 3 d’une série de tutoriels en 5 parties.

Dans la partie 2 de cette série de tutoriels , vous avez créé et exécuté l’image conteneur localement. En revanche, dans cette partie du tutoriel, vous générez (conteneuriser) la même application web Python directement dans une image Docker dans Azure Container Registry. La création de l’image dans Azure est généralement plus rapide et plus facile que la génération locale, puis l’envoi (push) de l’image vers un registre. En outre, la création dans le cloud ne nécessite pas que Docker s’exécute dans votre environnement de développement.

Une fois l’image Docker dans Azure Container Registry, elle peut être déployée sur Azure App Service.

Ce diagramme de service met en évidence les composants abordés dans cet article.

Capture d’écran des services à l’aide du didacticiel - Application Python en conteneur sur Azure avec le chemin d’accès au cloud intégré mis en surbrillance.

Créer un Registre de conteneurs Azure

Si vous disposez d’un Registre de conteneurs Azure existant que vous souhaitez utiliser, ignorez cette étape suivante et passez à l’étape suivante. Sinon, créez un registre de conteneurs Azure à l’aide d’Azure CLI.

Les commandes Azure CLI peuvent être exécutées dans Azure Cloud Shell ou dans votre environnement de développement local avec Azure CLI installé.

Remarque

Utilisez les mêmes noms que dans la partie 2 de cette série de tutoriels.

  1. Créez un registre de conteneurs Azure avec la commande 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
    

    Dans la sortie JSON de la commande, recherchez la loginServer valeur. Cette valeur représente le nom de Registre complet (toutes les minuscules) et contient le nom du Registre.

  2. Si vous utilisez Azure CLI sur votre ordinateur local, exécutez la commande az acr login pour vous connecter au registre de conteneurs.

    az acr login -n $REGISTRY_NAME
    

    La commande ajoute « azurecr.io » au nom pour créer le nom de registre entièrement qualifié. En cas de réussite, le message « Connexion réussie » s’affiche.

    Remarque

    Dans Azure Cloud Shell, l’az acr login command n’est pas nécessaire, car l’authentification est gérée automatiquement via votre session Cloud Shell. Toutefois, si vous rencontrez des problèmes d’authentification, vous pouvez toujours l’utiliser.

Créer une image dans Azure Container Registry

Vous pouvez générer l’image conteneur directement dans Azure via différentes approches :

  • Azure Cloud Shell vous permet de construire entièrement l’image dans le cloud, indépendamment de votre environnement local.
  • Vous pouvez également utiliser VS Code ou Azure CLI pour le créer dans Azure à partir de votre configuration locale, sans avoir à exécuter Docker localement.

Les commandes Azure CLI peuvent être exécutées dans votre environnement de développement local avec Azure CLI installé ou dans Azure Cloud Shell.

  1. Dans la console, accédez au dossier racine de votre référentiel cloné à partir de la partie 2 de cette série de tutoriels.

  2. Générez l’image conteneur à l’aide de la commande 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
    

    Le dernier argument de la commande est le chemin d'accès complet du référentiel. Lors de l’exécution dans Azure Cloud Shell, utilisez https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git l’exemple d’application Django et https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git l’exemple d’application Flask.

  3. Vérifiez que l’image conteneur a été créée avec la commande az acr repository list.

    az acr repository list -n $REGISTRY_NAME
    

Étape suivante