Démarrage rapide : déployer une instance de conteneur dans Azure à l’aide d’Azure PowerShell
Utilisez Azure Container Instances pour exécuter, facilement et rapidement, des conteneurs Docker serverless dans Azure. Déployez une application sur une instance de conteneur à la demande lorsque vous n’avez pas besoin d’une plateforme d’orchestration de conteneur complète telle qu’Azure Kubernetes Service.
Dans ce guide de démarrage rapide, vous utilisez Azure PowerShell pour déployer un conteneur Windows isolé et rendre son application disponible avec un nom de domaine complet (FQDN) et un port. Quelques secondes après l’exécution d’une seule commande de déploiement, vous pouvez accéder à l’application en cours d’exécution dans le conteneur :
![Application déployée sur Azure Container Instances affichée dans le navigateur][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Azure Cloud Shell
Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.
Pour démarrer Azure Cloud Shell :
Option | Exemple/Lien |
---|---|
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. | |
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. | |
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. |
Pour utiliser Azure Cloud Shell :
Démarrez Cloud Shell.
Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.
Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.
Sélectionnez Entrer pour exécuter le code ou la commande.
Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell pour les besoins de ce tutoriel. Exécutez Get-Module -ListAvailable Az
pour trouver la version. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell localement, vous devez également exécuter Connect-AzAccount
pour créer une connexion avec Azure.
Créer un groupe de ressources
Les instances de conteneur Azure, comme toutes les ressources Azure, doivent être déployées dans un groupe de ressources. Les groupes de ressources vous permettent d’organiser et de gérer les ressources Azure connexes.
Commencez par créer un groupe de ressources nommé myResourceGroup à l’emplacement eastus, à l’aide de la commande New-AzResourceGroup suivante :
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Créer un port pour votre instance de conteneur
Vous pouvez exposer vos conteneurs sur Internet en spécifiant un ou plusieurs ports à ouvrir, une étiquette de nom DNS ou les deux. Dans ce guide de démarrage rapide, vous déployez un conteneur avec une étiquette de nom DNS afin qu’il soit accessible publiquement. Dans ce guide, nous effectuons les deux opérations, mais tout d’abord, vous devez créer dans PowerShell un objet de port qui sera utilisé par votre instance de conteneur.
$port = New-AzContainerInstancePortObject -Port 80 -Protocol TCP
Créer un groupe de conteneurs
Maintenant que vous disposez d’un groupe de ressources et d’un port, vous pouvez exécuter un conteneur exposé à Internet dans Azure. Pour créer une instance de conteneur avec Azure PowerShell, vous devez d’abord créer un ContainerInstanceObject
en fournissant un nom, une image et un port pour le conteneur. Dans ce démarrage rapide, vous utilisez l’image mcr.microsoft.com/azuredocs/aci-helloworld
publique.
New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)
Ensuite, utilisez l’applet de commande New-AzContainerGroup. Vous devez fournir un nom pour le groupe de conteneurs, le nom de votre groupe de ressources, un emplacement pour le groupe de conteneurs, l’instance de conteneur que vous avez créé, le type de système d’exploitation et une étiquette de nom DNS d’adresse IP unique.
Pour démarrer une instance de conteneur, exécutez une commande similaire à la suivante. Définissez une valeur -IPAddressDnsNameLabel
être unique au sein de la région Azure dans laquelle vous créez l’instance. Si vous recevez un message d’erreur « Étiquette de nom DNS indisponible », essayez d’utiliser une autre étiquette de nom DNS.
$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)
Après quelques secondes, vous devez recevoir une réponse d’Azure. L’élément ProvisioningState
du conteneur est initialement défini sur Création, mais doit passer à Réussite après une ou deux minutes. Vérifiez l’état du déploiement à l’aide de l’applet de commande Get-AzContainerGroup :
Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Vous pouvez également imprimer l’objet $containerGroup et filtrer le tableau en fonction de l’état d’approvisionnement du conteneur, du nom de domaine complet (FQDN) et de l’adresse IP.
$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP
L'état d'approvisionnement du conteneur, le nom de domaine complet et l'adresse IP apparaissent dans la sortie de l'applet de commande :
PS Azure:\> Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
ResourceGroupName : myResourceGroup
Id : /subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup
Name : myContainerGroup
Type : Microsoft.ContainerInstance/containerGroups
Location : eastus
Tags :
ProvisioningState : Creating
Containers : {myContainer}
ImageRegistryCredentials :
RestartPolicy : Always
IpAddress : 52.226.19.87
DnsNameLabel : aci-demo-win
Fqdn : aci-demo-win.eastus.azurecontainer.io
Ports : {80}
OsType : Windows
Volumes :
State : Pending
Events : {}
Si l’élément ProvisioningState
du conteneur est défini sur Réussite, accédez à son nom de domaine complet dans votre navigateur. Si vous voyez une page web similaire à l’image suivante, félicitations ! Cela signifie que vous avez réussi à déployer une application s’exécutant dans un conteneur Docker sur Azure.
![Afficher une application déployée sur Azure Container Instances dans le navigateur][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Nettoyer les ressources
Quand vous avez fini d’utiliser le conteneur, vous pouvez le supprimer avec l’applet de commande Remove-AzContainerGroup :
Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez créé une instance de conteneur Azure à partir d’une image dans le registre du Hub Docker public. Si vous voulez créer une image conteneur et la déployer à partir d’un registre de conteneurs Azure privé, passez au didacticiel Azure Container Instances.