Exécuter un conteneur personnalisé dans AzureRun a custom container in 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.Azure App Service provides pre-defined application stacks on Windows like ASP.NET or Node.js, running on 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.The preconfigured Windows container environment locks down the operating system from administrative access, software installations, changes to the global assembly cache, and so on. Pour plus d’informations, consultez Fonctionnalités de système d’exploitation sur Azure App Service.For more information, see Operating system functionality on 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.If your application requires more access than the preconfigured environment allows, you can deploy a custom Windows container instead.

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.This quickstart shows how to deploy an ASP.NET app, in a Windows image, to Docker Hub from Visual Studio. Vous exécutez l’application dans un conteneur personnalisé au sein d’Azure App Service.You run the app in a custom container in Azure App Service.

Notes

Les conteneurs Windows sont limités à Azure Files et ne prennent actuellement pas en charge Azure Blob.Windows Containers is limited to Azure Files and does not currently support Azure Blob.

PrérequisPrerequisites

Pour suivre ce tutoriel :To complete this tutorial:

Créez une application web ASP.NETCreate an ASP.NET web app

Créez une application web ASP.NET en effectuant les étapes suivantes :Create an ASP.NET web app by following these steps:

  1. Ouvrez Visual Studio, puis sélectionnez Créer un projet.Open Visual Studio and then select Create a new project.

  2. Dans Créer un projet, recherchez et choisissez une application web ASP.NET (.NET Framework) pour C#, puis sélectionnez Suivant.In Create a new project, find and choose ASP.NET Web Application (.NET Framework) for C#, then select Next.

  3. Dans Configurer votre nouveau projet, nommez l’application myfirstazurewebapp, puis sélectionnez Créer.In Configure your new project, name the application myfirstazurewebapp, and then select Create.

    Configurer votre projet d’application web

  4. Vous pouvez déployer n’importe quel type d’application web ASP.NET dans Azure.You can deploy any type of ASP.NET web app to Azure. Pour ce guide de démarrage rapide, choisissez le modèle MVC.For this quickstart, choose the MVC template.

  5. Sélectionnez Prise en charge de Docker, puis vérifiez que l’option d’authentification a la valeur Aucune authentification.Select Docker support, and make sure authentication is set to No Authentication. Sélectionnez Create (Créer).Select Create.

    Créer une application web ASP.NET

  6. Si le fichier Dockerfile ne s’ouvre pas automatiquement, ouvrez-le dans l’Explorateur de solutions.If the Dockerfile file isn't opened automatically, open it from the Solution Explorer.

  7. Vous avez besoin d’une image parent prise en charge.You need a supported parent image. Changez l’image parente en remplaçant la ligne FROM par le code suivant et enregistrez le fichier :Change the parent image by replacing the FROM line with the following code and save the file:

    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.From the Visual Studio menu, select Debug > Start Without Debugging to run the web app locally.

    Exécuter l’application localement

Publier sur Docker HubPublish to Docker Hub

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet myfirstazurewebapp, puis sélectionnez Publier.In Solution Explorer, right-click the myfirstazurewebapp project and select Publish.

  2. Choisissez App Service, puis sélectionnez Publier.Choose App Service and then select Publish.

  3. Dans Choisir une cible de publication, sélectionnez Container Registry, Docker Hub, puis cliquez sur Publier.In Pick a publish target, select Container Registry and Docker Hub, and then click Publish.

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

  4. Indiquez vos informations d’identification de compte Docker Hub, puis sélectionnez Enregistrer.Supply your Docker Hub account credentials and select Save.

    Attendez la fin du déploiement.Wait for the deployment to complete. La page Publier affiche désormais le nom du dépôt à utiliser plus tard.The Publish page now shows the repository name to use later.

    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.Copy this repository name for later.

Créer une application de conteneur WindowsCreate a Windows container app

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.

  2. Sélectionnez Créer une ressource dans le coin supérieur gauche du Portail Azure.Choose Create a resource in the upper left-hand corner of the Azure portal.

  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.In the search box above the list of Azure Marketplace resources, search for Web App for Containers, and select Create.

  4. Dans Application web - Créer, choisissez votre abonnement et un groupe de ressources.In Web App Create, choose your subscription and a Resource Group. Vous pouvez créer un groupe de ressources, le cas échéant.You can create a new resource group if needed.

  5. Indiquez un nom d’application, par exemple win-container-demo, puis choisissez Windows pour Système d’exploitation.Provide an app name, such as win-container-demo and choose Windows for Operating System. Sélectionnez Suivant : Docker pour continuer.Select Next: Docker to continue.

    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.For Image Source, choose Docker Hub and for Image and tag, enter the repository name you copied in Publish to 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.If you have a custom image elsewhere for your web application, such as in Azure Container Registry or in any other private repository, you can configure it here.

  7. Sélectionnez Vérifier et créer, Créer, puis attendez qu’Azure crée les ressources nécessaires.Select Review and Create and then Create and wait for Azure to create the required resources.

Accédez à l’application de conteneurBrowse to the container app

Lorsque l’opération Azure est terminée, une zone de notification s’affiche.When the Azure operation is complete, a notification box is displayed.

Déploiement réussi

  1. Cliquez sur Accéder à la ressource.Click Go to resource.

  2. Dans la vue d’ensemble de cette ressource, suivez le lien situé à côté de URL.In the overview of this resource, follow the link next to URL.

Une nouvelle page de navigateur s’ouvre à la page suivante :A new browser page opens to the following page:

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 :Wait a few minutes and try again, until you get the default ASP.NET home page:

Exécution de l’application conteneur Windows

Félicitations !Congratulations! Vous exécutez votre premier conteneur Windows personnalisé dans Azure App Service.You're running your first custom Windows container in Azure App Service.

Consulter les journaux d’activité de démarrage du conteneurSee container start-up logs

Le chargement du conteneur Windows peut prendre un certain temps.It may take some time for the Windows container to load. Pour voir la progression, accédez à l’URL suivante en remplaçant <app_name> par le nom de votre application.To see the progress, navigate to the following URL by replacing <app_name> with the name of your app.

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

Les journaux d’activité en continu ressemblent à ceci :The streamed logs looks like this:

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éploiementUpdate locally and redeploy

  1. Dans Visual Studio, dans l’Explorateur de solutions, ouvrez Vues > Accueil > Index.cshtml.In Visual Studio, in Solution Explorer, open Views > Home > 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 :Find the <div class="jumbotron"> HTML tag near the top, and replace the entire element with the following code:

    <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.To redeploy to Azure, right-click the myfirstazurewebapp project in Solution Explorer and choose Publish.

  4. Dans la page de publication, sélectionnez Publier et attendez la fin de la publication.On the publish page, select Publish and wait for publishing to complete.

  5. Pour indiquer à App Service qu’il faut tirer la nouvelle image de Docker Hub, redémarrez l’application.To tell App Service to pull in the new image from Docker Hub, restart the app. De retour dans la page d’application du portail, cliquez sur Redémarrer > Oui.Back in the app page in the portal, click Restart > Yes.

    Redémarrer l’application web dans Azure

Accédez de nouveau à l’application de conteneur.Browse to the container app again. 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.As you refresh the webpage, the app should revert to the "Starting up" page at first, then display the updated webpage again after a few minutes.

Application web mise à jour dans Azure

Étapes suivantesNext steps

Ou consultez les autres ressources :Or, check out other resources:

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.App Service on Linux provides pre-defined application stacks on Linux with support for languages such as .NET, PHP, Node.js and others. 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.You can also use a custom Docker image to run your web app on an application stack that is not already defined in Azure. Ce guide de démarrage rapide vous montre comment déployer une image à partir d’un ACR (Azure Container Registry) vers App Service.This quickstart shows you how to deploy an image from an Azure Container Registry (ACR) to App Service.

PrérequisPrerequisites

Créer une imageCreate an 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.To complete this quickstart, you will need a suitable web app image stored in an 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.Follow the instructions in Quickstart: Create a private container registry using the Azure portal, but use the mcr.microsoft.com/azuredocs/go image instead of the hello-world image. Pour référence, l’exemple de fichier Dockerfile se trouve dans le dépôt Exemples Azure.For reference, the sample Dockerfile is found in Azure Samples repo.

Important

Veillez à définir l’option Utilisateur administrateur sur Activer quand vous créez le registre de conteneurs.Be sure to set the Admin User option to Enable when you create the container registry. Vous pouvez également la définir à partir de la section Clés d’accès de votre page de registre dans le portail Azure.You can also set it from the Access keys section of your registry page in the Azure portal. Ce paramètre est nécessaire pour l’accès à App Service.This setting is required for App Service access.

Se connecterSign in

Ensuite, lancez VS Code et connectez-vous à votre compte Azure à l’aide de l’extension App Service.Next, launch VS Code and log into your Azure account using the App Service extension. 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.To do this, select the Azure logo in the Activity Bar, navigate to the APP SERVICE explorer, then select Sign in to Azure and follow the instructions.

se connecter à Azure

Vérifier les conditions préalablesCheck prerequisites

Vous pouvez maintenant vérifier que tous les prérequis ont été correctement installés et configurés.Now you can check whether you have all the prerequisites installed and configured properly.

Dans VS Code, vous devez voir votre adresse e-mail Azure dans la barre d’état et votre abonnement dans l’explorateur APP SERVICE.In VS Code, you should see your Azure email address in the Status Bar and your subscription in the APP SERVICE explorer.

Vérifiez ensuite que Docker est installé et en cours d’exécution.Next, verify that you have Docker installed and running. La commande suivante affiche la version de Docker s’il est en cours d’exécution.The following command will display the Docker version if it is running.

docker --version

Enfin, vérifiez que votre registre Azure Container Registry est connecté.Finally, ensure that your Azure Container Registry is connected. Pour ce faire, sélectionnez le logo Docker dans la barre d’activités, puis accédez à REGISTRES.To do this, select the Docker logo in the Activity Bar, then navigate to REGISTRIES.

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 ServiceDeploy the image to 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.Now that everything is configured, you can deploy your image to Azure App Service directly from the Docker extension explorer.

Recherchez l’image sous le nœud Registres dans l’explorateur DOCKER, puis développez-la pour afficher ses balises.Find the image under the Registries node in the DOCKER explorer, and expand it to show its tags. Cliquez avec le bouton droit sur une balise, puis sélectionnez Déployer l’image dans Azure App Service.Right-click a tag and then select Deploy Image to 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.From here, follow the prompts to choose a subscription, a globally unique app name, a Resource Group, and an App Service Plan. Choisissez B1 De base comme niveau tarifaire et une région.Choose B1 Basic for the pricing tier, and a region.

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

Un groupe de ressources est une collection nommée de toutes les ressources de votre application dans Azure.A Resource Group is a named collection of all your application's resources in 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.For example, a Resource Group can contain a reference to a website, a database, and an Azure Function.

Un plan App Service définit les ressources physiques qui seront utilisées pour héberger votre site web.An App Service Plan defines the physical resources that will be used to host your website. 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.This quickstart uses a Basic hosting plan on Linux infrastructure, which means the site will be hosted on a Linux machine alongside other websites. 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.If you start with the Basic plan, you can use the Azure portal to scale up so that yours is the only site running on a machine.

Parcourir le site WebBrowse the website

Le panneau Sortie s’ouvre pendant le déploiement pour indiquer l’état de l’opération.The Output panel will open during deployment to indicate the status of the operation. 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.When the operation completes, find the app you created in the APP SERVICE explorer, right-click it, then select Browse Website to open the site in your browser.

Étapes suivantesNext steps

Félicitations, vous avez terminé ce démarrage rapide !Congratulations, you've successfully completed this quickstart!

Consultez ensuite les autres extensions Azure.Next, check out the other Azure extensions.

Vous pouvez également les obtenir tous en installant le pack d’extension Azure Tools.Or get them all by installing the Azure Tools extension pack.

Consultez les autres ressources :Check out other resources: