Tutoriel : Déployer une application conteneur sur Azure Container Instances

Il s’agit du didacticiel final d’une série en trois parties. Dans les deux premières parties, nous avons créé une image conteneur et nous l’avons envoyée à Azure Container Registry. Cet article termine la série en déployant le conteneur sur Azure Container Instances.

Dans ce tutoriel, vous allez :

  • Déployer le conteneur à partir d’Azure Container Registry vers Azure Container Instances
  • Afficher l’application en cours d’exécution dans le navigateur
  • Afficher les journaux d’activité du conteneur

Avant de commencer

Pour suivre ce didacticiel, vous devez satisfaire aux exigences suivantes :

Azure CLI : Azure CLI version 2.0.29 ou ultérieure doit être installée sur votre ordinateur local. Exécutez az --version pour trouver la version. Si vous devez effectuer une installation ou une mise à niveau, consultez Installer Azure CLI.

Docker : ce tutoriel présuppose une compréhension de base des concepts Docker essentiels, tels que les conteneurs, les images conteneur et les commandes docker de base. Pour apprendre les principes de base de Docker et des conteneurs, consultez la vue d’ensemble de Docker.

Docker : Pour suivre ce tutoriel, Docker doit être installé localement. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Windows et Linux.

Important

Étant donné qu’Azure Cloud Shell n’inclut pas le démon Docker, vous devez installer Azure CLI et le moteur Docker sur votre ordinateur local pour suivre ce didacticiel. Vous ne pouvez pas utiliser Azure Cloud Shell pour ce didacticiel.

Déployer le conteneur à l’aide de l’interface CLI Azure

Dans cette section, vous utilisez l’interface Azure CLI pour déployer l’image générée dans le premier didacticiel et envoyée à Azure Container Registry dans le deuxième didacticiel. Assurez-vous d’avoir terminé ces didacticiels avant de continuer.

Obtenir les informations d’identification du registre

Lorsque vous déployez une image qui est hébergée dans un registre de conteneurs Azure privé, tel que celui créé dans le deuxième tutoriel, vous devez fournir les informations d’identification pour accéder au registre.

Une bonne pratique à suivre dans de nombreux scénarios consiste à créer et à configurer un principal de service Microsoft Entra avec des autorisations d’accès en extraction (pull) à votre registre. Consultez S’authentifier avec Azure Container Registry à partir d’Azure Container Instances pour obtenir des exemples de scripts afin de créer un principal de service doté des autorisations nécessaires. Notez l’ID du principal de service et le mot de passe du principal de service. Vous utilisez ces informations d’identification pour accéder au registre lorsque vous déployez le conteneur.

Vous avez également besoin du nom complet du serveur de connexion au registre de conteneurs (remplacez <acrName> par le nom de votre registre) :

az acr show --name <acrName> --query loginServer

Déployer le conteneur

Maintenant, utilisez la commande az container create pour déployer le conteneur. Remplacez <acrLoginServer> par les valeurs obtenues à partir de la commande précédente. Remplacez <service-principal-ID> et <service-principal-password> par l’ID et le mot de passe de principal de service que vous avez créés pour accéder au registre. Remplacez <aciDnsLabel> par un nom DNS souhaité.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

Après quelques secondes, vous devriez recevoir une réponse initiale d’Azure. La valeur --dns-name-label doit être unique au sein de la région Azure dans laquelle vous créez l’instance de conteneur. Modifiez la valeur de la commande précédente si vous recevez un message d’erreur Étiquette de nom DNS lorsque vous exécutez la commande.

Vérifier la progression du déploiement

Pour afficher l’état du déploiement, utilisez la commande az container show :

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Répétez la commande az container show jusqu’à ce que l’état passe de En attente à En cours d’exécution, ce qui prend normalement moins d’une minute. Lorsque le conteneur est En cours d’exécution, passez à l’étape suivante.

Afficher les journaux d’activité d’applications et de conteneurs

Une fois le déploiement réussi, affichez le nom de domaine complet du conteneur avec la commande az container show :

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Par exemple :

"aci-demo.eastus.azurecontainer.io"

Pour afficher l’application en cours d’exécution, accédez au nom DNS affiché dans votre navigateur favori :

Application Hello world dans le navigateur

Vous pouvez également afficher la sortie du journal du conteneur :

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Exemple de sortie :

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Nettoyer les ressources

Si vous n’avez plus besoin des ressources que vous avez créées dans cette série de didacticiels, vous pouvez exécuter la commande az group delete pour supprimer le groupe de ressources et toutes les ressources qu’il contient. Cette commande supprime le registre de conteneurs que vous avez créé, ainsi que le conteneur en cours d’exécution et toutes les ressources associées.

az group delete --name myResourceGroup

Étapes suivantes

Dans ce didacticiel, vous avez terminé le processus de déploiement de votre conteneur sur Azure Container Instances. Les étapes suivantes ont été effectuées :

  • Déployer le conteneur à partir d’Azure Container Registry à l’aide d’Azure CLI
  • afficher l’application dans le navigateur ;
  • afficher les journaux d’activité du conteneur.

Maintenant que vous avez les bases, continuez pour en savoir plus sur Azure Container Instances, par exemple sur le fonctionnement des groupes de conteneurs :

Groupes de conteneurs dans Azure Container Instances