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. Pour connaître la version de l’interface, exécutez az --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. N’oubliez pas de terminer ces tutoriels 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 :
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éé, 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 :