Transmission de votre première image vers un Registre de conteneur Docker privé à l’aide de l’interface de ligne de commande (CLI) DockerPush your first image to a private Docker container registry using the Docker CLI

Un Registre de conteneur Azure stocke et gère les images privées du conteneur Docker, de la même manière que Docker Hub stocke les images publiques du Docker.An Azure container registry stores and manages private Docker container images, similar to the way Docker Hub stores public Docker images. Vous pouvez utiliser l’interface de ligne de commande Docker (interface CLI Docker) pour la connexion (login), la poussée (push), le tirage (pull) et autres opérations sur le registre du conteneur.You can use the Docker command-line interface (Docker CLI) for login, push, pull, and other operations on your container registry.

Dans les étapes suivantes, téléchargez une image Nginx officielle à partir du registre Docker Hub public, étiquetez-la pour votre registre de conteneurs Azure privé, poussez-la dans votre registre, puis tirez-la du registre.In the following steps, you download an official Nginx image from the public Docker Hub registry, tag it for your private Azure container registry, push it to your registry, and then pull it from the registry.

PrérequisPrerequisites

  • Azure Container Registry : créez un Registre de conteneur dans votre abonnement Azure.Azure container registry - Create a container registry in your Azure subscription. Par exemple, utilisez le portail Azure ou Azure CLI.For example, use the Azure portal or the Azure CLI.
  • Docker CLI : Docker doit également être installé en local.Docker CLI - You must also have Docker installed locally. Docker fournit des packages qui le configurent facilement sur n’importe quel système macOS, Windows ou Linux.Docker provides packages that easily configure Docker on any macOS, Windows, or Linux system.

Se connecter à un RegistreLog in to a registry

Il existe plusieurs façons de s’authentifier auprès de votre registre de conteneurs privé.There are several ways to authenticate to your private container registry. La méthode recommandée avec une ligne de commande consiste à utiliser la commande Azure CLI az acr login.The recommended method when working in a command line is with the Azure CLI command az acr login. Par exemple, pour vous connecter à un registre nommé myregistry :For example, to log in to a registry named myregistry:

az acr login --name myregistry

Vous pouvez également vous connecter avec la commande docker login.You can also log in with docker login. Par exemple, vous pouvez avoir affecté un principal du service à votre registre dans un scénario d’automatisation.For example, you might have assigned a service principal to your registry for an automation scenario. Lorsque vous exécutez la commande suivante, fournissez de manière interactive l’appID du principal du service (nom d’utilisateur) et le mot de passe lorsque vous y êtes invité.When you run the following command, interactively provide the service principal appID (username) and password when prompted. Pour connaître les meilleures pratiques de gestion des informations d’identification de connexion, consultez la référence de la commande docker login :For best practices to manage login credentials, see the docker login command reference:

docker login myregistry.azurecr.io

Les deux commandes retournent Login Succeeded une fois terminées.Both commands return Login Succeeded once completed.

Conseil

Spécifiez toujours le nom complet du registre (tout en minuscules) lorsque vous utilisez docker login et lorsque vous étiquetez des images à pousser dans votre registre.Always specify the fully qualified registry name (all lowercase) when you use docker login and when you tag images for pushing to your registry. Dans les exemples de cet article, le nom complet est myregistry.azurecr.io.In the examples in this article, the fully qualified name is myregistry.azurecr.io.

Tirer (pull) l’image Nginx officiellePull the official Nginx image

Tout d’abord, tirez l’image Nginx publique sur votre ordinateur local.First, pull the public Nginx image to your local computer.

docker pull nginx

Exécutez localement le conteneurRun the container locally

Exécutez la commande docker run suivante pour démarrer une instance locale du conteneur Nginx de manière interactive (-it) sur le port 8080.Execute following docker run command to start a local instance of the Nginx container interactively (-it) on port 8080. L’argument --rm spécifie que le conteneur doit être supprimé lorsque vous l’arrêtez.The --rm argument specifies that the container should be removed when you stop it.

docker run -it --rm -p 8080:80 nginx

Accédez à http://localhost:8080 pour afficher la page web par défaut servie par Nginx dans le conteneur en cours d’exécution.Browse to http://localhost:8080 to view the default web page served by Nginx in the running container. Une page similaire à celle ci-dessous doit s'afficher :You should see a page similar to the following:

Nginx sur un ordinateur local

Étant donné que vous avez démarré le conteneur de manière interactive avec -it, vous pouvez voir la sortie du serveur Nginx sur la ligne de commande après y avoir accédé dans votre navigateur.Because you started the container interactively with -it, you can see the Nginx server's output on the command line after navigating to it in your browser.

Pour arrêter et supprimer le conteneur, appuyez sur Control+C.To stop and remove the container, press Control+C.

Créer un alias de l’imageCreate an alias of the image

Utilisez une balise Docker pour créer un alias de l’image, avec un chemin complet vers votre registre.Use docker tag to create an alias of the image with the fully qualified path to your registry. Cet exemple spécifie l’espace de noms samples pour éviter l’encombrement à la racine du Registre.This example specifies the samples namespace to avoid clutter in the root of the registry.

docker tag nginx myregistry.azurecr.io/samples/nginx

Pour plus d’informations sur le balisage avec des espaces de noms, consultez la section Espaces de noms du référentiel dans Bonnes pratiques pour Azure Container Registry.For more information about tagging with namespaces, see the Repository namespaces section of Best practices for Azure Container Registry.

Pousser (push) l’image dans votre registrePush the image to your registry

Maintenant que vous avez étiqueté l’image avec le chemin complet de votre registre privé, vous pouvez la pousser dans le registre avec docker push :Now that you've tagged the image with the fully qualified path to your private registry, you can push it to the registry with docker push:

docker push myregistry.azurecr.io/samples/nginx

Tirer (pull) l’image de votre registrePull the image from your registry

Utilisez la commande docker pull pour tirer l’image de votre registre :Use the docker pull command to pull the image from your registry:

docker pull myregistry.azurecr.io/samples/nginx

Démarrer le conteneur NginxStart the Nginx container

Utilisez la commande docker run pour exécuter l’image que vous avez tirée de votre registre :Use the docker run command to run the image you've pulled from your registry:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Accédez à http://localhost:8080 pour afficher le conteneur en cours d’exécution.Browse to http://localhost:8080 to view the running container.

Pour arrêter et supprimer le conteneur, appuyez sur Control+C.To stop and remove the container, press Control+C.

Supprimer l’image (facultatif)Remove the image (optional)

Si vous n’avez plus besoin de l’image Nginx, vous pouvez la supprimer localement à l’aide de la commande docker rmi.If you no longer need the Nginx image, you can delete it locally with the docker rmi command.

docker rmi myregistry.azurecr.io/samples/nginx

Pour supprimer des images de votre registre de conteneurs Azure, vous pouvez utiliser la commande Azure CLI az acr repository delete.To remove images from your Azure container registry, you can use the Azure CLI command az acr repository delete. Par exemple, la commande suivante supprime le manifeste référencé par l'étiquette samples/nginx:latest, toutes les données de couche uniques et toutes les autres étiquettes référençant le manifeste.For example, the following command deletes the manifest referenced by the samples/nginx:latest tag, any unique layer data, and all other tags referencing the manifest.

az acr repository delete --name myregistry --image samples/nginx:latest

Étapes suivantesNext steps

Maintenant que vous connaissez les principes de base, vous êtes prêt à utiliser votre registre.Now that you know the basics, you're ready to start using your registry! Par exemple, déployez des images de conteneur à partir de votre Registre vers :For example, deploy container images from your registry to:

Si vous le souhaitez, vous pouvez installer l’extension Docker pour Visual Studio Code et l’extension Compte Azure pour utiliser vos registres de conteneurs Azure.Optionally install the Docker Extension for Visual Studio Code and the Azure Account extension to work with your Azure container registries. Dans Visual Studio Code, vous pouvez tirer (pull) et envoyer (push) des images vers un registre de conteneurs Azure, et exécuter ACR Tasks.Pull and push images to an Azure container registry, or run ACR Tasks, all within Visual Studio Code.