Exécuter un conteneur personnalisé dans Azure

Azure App Service fournit des piles d’applications prédéfinies sur Windows, par exemple ASP.NET ou Node.js, exécuté sur IIS. L’environnement de conteneur Windows préconfiguré verrouille le système d’exploitation et empêche l’accès administrateur, les installations logicielles, les changements du Global Assembly Cache, etc. Pour plus d’informations, consultez Fonctionnalités de système d’exploitation sur Azure App Service. Si votre application nécessite un accès plus important que celui permis par l’environnement préconfiguré, vous pouvez déployer un conteneur Windows personnalisé à la place.

Ce guide de démarrage rapide montre comment déployer une application ASP.NET, dans une image Windows, sur Docker Hub à partir de Visual Studio. Vous exécutez l’application dans un conteneur personnalisé au sein d’Azure App Service.

Notes

Les conteneurs Windows sont limités à Azure Files et ne prennent actuellement pas en charge Azure Blob.

Prérequis

Pour suivre ce tutoriel :

Créez une application web ASP.NET

Créez une application web ASP.NET en effectuant les étapes suivantes :

  1. Ouvrez Visual Studio, puis sélectionnez Créer un projet.

  2. Dans Créer un projet, recherchez et choisissez une application web ASP.NET (.NET Framework) pour C#, puis sélectionnez Suivant.

  3. Dans Configurer votre nouveau projet, nommez l’application myfirstazurewebapp, puis sélectionnez Créer.

    Configurer votre projet d’application web

  4. Vous pouvez déployer n’importe quel type d’application web ASP.NET dans Azure. Pour ce guide de démarrage rapide, choisissez le modèle MVC.

  5. Sélectionnez Prise en charge de Docker, puis vérifiez que l’option d’authentification a la valeur Aucune authentification. Sélectionnez Create (Créer).

    Créer une application web ASP.NET

  6. Si le fichier Dockerfile ne s’ouvre pas automatiquement, ouvrez-le dans l’Explorateur de solutions.

  7. Vous avez besoin d’une image parent prise en charge. Changez l’image parente en remplaçant la ligne FROM par le code suivant et enregistrez le fichier :

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-ltsc2019
    
  8. Dans le menu Visual Studio, sélectionnez Déboguer > Démarrer sans débogage pour exécuter l’application web localement.

    Exécuter l’application localement

Publier sur Docker Hub

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet myfirstazurewebapp, puis sélectionnez Publier.

  2. Choisissez App Service, puis sélectionnez Publier.

  3. Dans Choisir une cible de publication, sélectionnez Container Registry, Docker Hub, puis cliquez sur Publier.

    Publier à partir de la page de présentation du projet

  4. Indiquez vos informations d’identification de compte Docker Hub, puis sélectionnez Enregistrer.

    Attendez la fin du déploiement. La page Publier affiche désormais le nom du dépôt à utiliser plus tard.

    Capture d’écran mettant en évidence le nom du dépôt.

  5. Copiez ce nom de dépôt pour une utilisation ultérieure.

Créer une application de conteneur Windows

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Créer une ressource dans le coin supérieur gauche du Portail Azure.

  3. Dans la zone de recherche située au-dessus de la liste des ressources de la Place de marché Azure, recherchez Web App pour conteneurs, puis sélectionnez Créer.

  4. Dans Application web - Créer, choisissez votre abonnement et un groupe de ressources. Vous pouvez créer un groupe de ressources, le cas échéant.

  5. Indiquez un nom d’application, par exemple win-container-demo, puis choisissez Windows pour Système d’exploitation. Sélectionnez Suivant : Docker pour continuer.

    Créer une application web pour conteneurs

  6. Pour Source d’image, choisissez Docker Hub et pour Image et étiquette, entrez le nom de dépôt que vous avez copié dans Publier sur Docker Hub.

    Configurer une application web pour conteneurs

    Si vous avez une image personnalisée ailleurs pour votre application web, comme dans Azure Container Registry ou dans un autre référentiel privé, vous pouvez le configurer ici.

  7. Sélectionnez Vérifier et créer, Créer, puis attendez qu’Azure crée les ressources nécessaires.

Accédez à l’application de conteneur

Lorsque l’opération Azure est terminée, une zone de notification s’affiche.

Déploiement réussi

  1. Cliquez sur Accéder à la ressource.

  2. Dans la vue d’ensemble de cette ressource, suivez le lien situé à côté de URL.

Une nouvelle page de navigateur s’ouvre à la page suivante :

Démarrage de l’application conteneur Windows

Attendez quelques minutes et réessayez, jusqu'à accéder à la page d’accueil ASP.NET par défaut :

Exécution de l’application conteneur Windows

Félicitations ! Vous exécutez votre premier conteneur Windows personnalisé dans Azure App Service.

Consulter les journaux d’activité de démarrage du conteneur

Le chargement du conteneur Windows peut prendre un certain temps. Pour voir la progression, accédez à l’URL suivante en remplaçant <app_name> par le nom de votre application.

https://<app_name>.scm.azurewebsites.net/api/logstream

Les journaux d’activité en continu ressemblent à ceci :

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Mise à jour locale et redéploiement

  1. Dans Visual Studio, dans l’Explorateur de solutions, ouvrez Vues > Accueil > Index.cshtml.

  2. Recherchez la balise HTML <div class="jumbotron"> vers le début, puis remplacez la totalité de l’élément par le code suivant :

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Pour effectuer un redéploiement sur Azure, cliquez avec le bouton droit sur le projet myfirstazurewebapp dans l’Explorateur de solutions, puis choisissez Publier.

  4. Dans la page de publication, sélectionnez Publier et attendez la fin de la publication.

  5. Pour indiquer à App Service qu’il faut tirer la nouvelle image de Docker Hub, redémarrez l’application. De retour dans la page d’application du portail, cliquez sur Redémarrer > Oui.

    Redémarrer l’application web dans Azure

Accédez de nouveau à l’application de conteneur. Quand vous actualisez la page web, l’application doit d’abord revenir à la page « Démarrage », puis afficher quelques minutes après la page web mise à jour.

Application web mise à jour dans Azure

Étapes suivantes

Ou consultez les autres ressources :

App Service sur Linux fournit des piles d’applications prédéfinies sur Linux avec la prise en charge de langages comme .NET, PHP, Node.js, etc. Vous pouvez également utiliser une image Docker personnalisée pour exécuter votre application web sur une pile d’applications qui n’est pas encore définie dans Azure. Ce guide de démarrage rapide vous montre comment déployer une image à partir d’un ACR (Azure Container Registry) vers App Service.

Prérequis

Créer une image

Pour suivre ce guide de démarrage rapide, vous avez besoin d’une image d’application web appropriée stockée dans un registre Azure Container Registry. Suivez les instructions données dans Démarrage rapide : Créer un registre de conteneurs privé à l’aide du portail Azure, mais utilisez l’image mcr.microsoft.com/azuredocs/go au lieu de l’image hello-world. Pour référence, l’exemple de fichier Dockerfile se trouve dans le dépôt Exemples Azure.

Important

Veillez à définir l’option Utilisateur administrateur sur Activer quand vous créez le registre de conteneurs. Vous pouvez également la définir à partir de la section Clés d’accès de votre page de registre dans le portail Azure. Ce paramètre est nécessaire pour l’accès à App Service.

Se connecter

Ensuite, lancez VS Code et connectez-vous à votre compte Azure à l’aide de l’extension App Service. Pour ce faire, sélectionnez le logo Azure dans la barre d’activités, accédez à l’explorateur APP SERVICE, sélectionnez Connectez-vous à Azure, puis suivez les instructions affichées.

se connecter à Azure

Vérifier les conditions préalables

Vous pouvez maintenant vérifier que tous les prérequis ont été correctement installés et configurés.

Dans VS Code, vous devez voir votre adresse e-mail Azure dans la barre d’état et votre abonnement dans l’explorateur APP SERVICE.

Vérifiez ensuite que Docker est installé et en cours d’exécution. La commande suivante affiche la version de Docker s’il est en cours d’exécution.

docker --version

Enfin, vérifiez que votre registre Azure Container Registry est connecté. Pour ce faire, sélectionnez le logo Docker dans la barre d’activités, puis accédez à REGISTRES.

Capture d’écran montrant la valeur des registres avec Azure développé et un fichier comprenant l’extension de nom de fichier point i o.

Déployer l’image dans Azure App Service

Maintenant que tout est configuré, vous pouvez déployer votre image dans Azure App Service directement à partir de l’explorateur de l’extension Docker.

Recherchez l’image sous le nœud Registres dans l’explorateur DOCKER, puis développez-la pour afficher ses balises. Cliquez avec le bouton droit sur une balise, puis sélectionnez Déployer l’image dans Azure App Service.

À partir de là, suivez les invites pour choisir un abonnement, un nom d’application global unique, un groupe de ressources et un plan App Service. Choisissez B1 De base comme niveau tarifaire et une région.

Une fois le déploiement effectué, votre application est disponible à l’adresse http://<app name>.azurewebsites.net.

Un groupe de ressources est une collection nommée de toutes les ressources de votre application dans Azure. Par exemple, un groupe de ressources peut contenir une référence à un site web, une base de données et une fonction Azure.

Un plan App Service définit les ressources physiques qui seront utilisées pour héberger votre site web. Ce guide de démarrage rapide utilise un plan d’hébergement De base sur l’infrastructure Linux, ce qui signifie que le site sera hébergé sur une machine Linux avec d’autres sites web. Si vous commencez avec le plan De base, vous pouvez utiliser le portail Azure pour effectuer un scale-up afin que votre site soit le seul à s’exécuter sur un ordinateur.

Parcourir le site Web

Le panneau Sortie s’ouvre pendant le déploiement pour indiquer l’état de l’opération. Une fois l’opération terminée, recherchez l’application que vous avez créée dans l’explorateur APP SERVICE, cliquez dessus avec le bouton droit, puis sélectionnez Parcourir le site Web pour ouvrir le site dans votre navigateur.

Étapes suivantes

Félicitations, vous avez terminé ce démarrage rapide !

Consultez ensuite les autres extensions Azure.

Vous pouvez également les obtenir tous en installant le pack d’extension Azure Tools.

Consultez les autres ressources :