Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Container Registry est un service de registre privé permettant de créer, de stocker et de gérer des images conteneurs et des artefacts connexes. Dans ce guide de démarrage rapide, vous allez créer une instance Azure Container Registry à l’aide d’Azure PowerShell localement. Ensuite, à l’aide de l’interface CLI Docker, vous allez extraire une image conteneur hello-world, étiqueter l’image conteneur hello-world pour créer une image conteneur, envoyer (push) la nouvelle image conteneur dans le registre de conteneurs, supprimer l’image conteneur locale, puis extraire et exécuter l’image à partir de votre registre.
Prérequis
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.
Ce guide de démarrage rapide nécessite le module Azure PowerShell. Exécutez Get-Module -ListAvailable Az
pour déterminer la version installée. Si vous devez installer ou mettre à niveau, consultez Installer le module Azure PowerShell.
Docker doit également être installé en local. Docker fournit des packages pour macOS, Windows et Linux.
Étant donné qu’Azure Cloud Shell n’inclut pas tous les composants Docker requis (par exemple, le démon dockerd
), vous ne pouvez pas l’utiliser pour ce démarrage rapide.
Connexion à Azure
Connectez-vous à votre abonnement Azure avec la commande Connect-AzAccount et suivez les instructions indiquées à l’écran.
Connect-AzAccount
Créer un groupe de ressources
Une fois votre authentification auprès d’Azure effectuée, créez un groupe de ressources avec New-AzResourceGroup. Un groupe de ressources est un conteneur logique dans lequel vous déployez et gérez vos ressources Azure.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Créer un registre de conteneurs
Ensuite, créez un registre de conteneurs dans votre nouveau groupe de ressources avec la commande New-AzContainerRegistry.
Le nom du registre doit être unique dans Azure et contenir entre 5 et 50 caractères alphanumériques. L’exemple suivant crée un registre nommé « mycontainerregistry ». Remplacez mycontainerregistry dans la commande suivante, puis exécutez-la pour créer le registre :
$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS
Conseil
Dans ce guide de démarrage rapide, vous créez un registre Standard , qui est suffisant pour la plupart des flux de travail Azure Container Registry. Choisissez d’autres niveaux pour un stockage et un débit d’image accrus, ainsi que des fonctionnalités telles que la connexion à l’aide d’un point de terminaison privé. Pour plus d’informations sur les niveaux de service disponibles (SKU), consultez Niveaux de service des registres de conteneurs.
Se connecter au registre
Avant d’envoyer (push) et de tirer (pull) des images conteneurs, vous devez vous connecter à votre registre avec la cmdlet Connect-AzContainerRegistry. L’exemple suivant utilise les informations d’identification que vous avez utilisées pour vous authentifier auprès d’Azure avec la cmdlet Connect-AzAccount
.
Notes
Dans l’exemple suivant, la valeur de $registry.Name
correspond au nom de la ressource, et non au nom de registre complet.
Connect-AzContainerRegistry -Name $registry.Name
Une fois l’opération terminée, la commande renvoie Login Succeeded
.
Envoyer l’image au registre
Pour envoyer une image dans un registre Azure Container Registry, vous devez tout d’abord disposer d’une image. Si vous n’avez pas encore d’images conteneur locales, exécutez la commande docker pull suivante pour tirer (pull) une image publique existante. Pour cet exemple, tirez l’image hello-world
à partir de Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Avant de pouvoir transférer une image à votre registre, vous devez l’étiqueter à l’aide de la docker tag avec le nom complet de votre serveur de connexion au registre.
- Le format du nom du serveur de connexion pour les registres protégés par DNL (Domain Name Label) avec un hachage unique du nom DNS est
mycontainerregistry-abc123.azurecr.io
. - Le format de nom du serveur de connexion pour les registres créés avec l’option
Unsecure
DNL estmycontainerregistry.azurecr.io
.
Par exemple, si votre registre a été créé avec l’étendue Tenant Reuse
DNL, le serveur de connexion peut inclure un hachage dans le nom DNS comme mycontainerregistry-abc123.azurecr.io
. Si votre registre a été créé avec l’option Unsecure
DNL, le serveur de connexion ressemblerait à mycontainerregistry.azurecr.io
sans le hachage.
Pour plus d’informations sur les options DNL lors de la création du Registre et des implications du nom DNS, consultez Démarrage rapide - Créer un registre dans le portail.
Exemple : taguer une image avant le push
Étiquetez l’image à l’aide de la commande docker tag à l’aide du serveur de connexion de votre registre.
Image de balisage pour un registre non-DNL :
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Image de balisage pour un registre compatible DNL :
docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1
Pour finir, utilisez la commande docker push pour envoyer l’image vers l’instance du registre. Remplacez <login-server>
par le nom du serveur de connexion de votre instance de registre. Cet exemple crée le référentiel hello-world qui contient l’image hello-world:v1
.
docker push <login-server>/hello-world:v1
Après avoir envoyé (push) l’image à votre registre de conteneurs, supprimez l’image hello-world:v1
de votre environnement Docker local. (Notez que cette commande docker rmi ne supprime pas l’image du référentiel hello-world dans votre registre de conteneurs Azure.)
docker rmi <login-server>/hello-world:v1
Exécuter l’image à partir du registre
Vous pouvez à présent extraire (pull) et exécuter l’image conteneur hello-world:v1
à partir de votre registre de conteneurs à l’aide de docker run :
docker run <login-server>/hello-world:v1
Exemple de sortie :
Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1
Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]
Nettoyer les ressources
Quand vous avez terminé d’utiliser les ressources créées dans ce guide de démarrage rapide, utilisez la commande Remove-AzResourceGroup pour supprimer le groupe de ressources, le registre de conteneurs et les images conteneur stockées à cet endroit :
Remove-AzResourceGroup -Name myResourceGroup
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez créé une instance Azure Container Registry à l’aide d’Azure PowerShell localement, extrait une image conteneur hello-world, étiqueté l’image hello-world pour créer une image conteneur, envoyé (push) la nouvelle image conteneur dans le registre de conteneurs, supprimé l’image conteneur locale, puis extrait et exécuté l’image à partir de votre registre. Passez à présent au tutoriel sur Azure Container Registry (ACR) pour approfondir vos connaissances.