Partager via


Envoyer votre première image à votre registre de conteneurs Azure à l’aide de l’interface cli Docker

Un registre de conteneurs Azure stocke et gère des images conteneurs privées ainsi que d’autres artefacts, de la même manière que Docker Hub stocke des images conteneurs Docker publiques. Vous pouvez utiliser l’interface de ligne de commande Docker (Docker CLI) pour la connexion, la transmission, l’extraction et d’autres opérations d’image conteneur sur le registre de conteneurs.

Dans les étapes suivantes, vous allez télécharger une image Nginx publique, l’étiqueter pour votre registre de conteneurs Azure privé, la transmettre à votre registre, puis l’extraire du registre.

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
  • Registre de conteneurs Azure dans votre abonnement Azure. Vous pouvez en créer un à l’aide du portail Azure, d’Azure CLI ou d’Azure PowerShell.
  • Docker doit également être installé en local. Docker fournit des packages qui le configurent facilement sur n’importe quel système macOS, Windows ou Linux.

Se connecter à votre registre de conteneurs

Il existe plusieurs façons de s’authentifier auprès de votre registre de conteneurs.

La méthode recommandée lors de l’utilisation d’une ligne de commande consiste à utiliser la commande Azure CLI az acr login. Pour accéder à un registre nommé myregistry, connectez-vous à Azure CLI, puis authentifiez-vous auprès de votre registre :

az login
az acr login --name myregistry

Vous pouvez également vous connecter à l’aide de docker login. Pour connaître les meilleures pratiques pour gérer les informations d’identification d’authentification, consultez la référence de la commande docker login .

Par exemple, vous pouvez avoir affecté un principal du service à votre registre dans un scénario d’automatisation. Lorsque vous exécutez la commande suivante, fournissez interactivement l'identifiant de l'application (nom d’utilisateur) et le mot de passe du principal de service lorsque vous y êtes invité :

docker login myregistry.azurecr.io

Conseil

Spécifiez toujours le nom complet du registre (tout en minuscules) lorsque vous utilisez docker login et lorsque vous balisez des images pour les transférer vers votre registre. Dans les exemples de cet article, le nom complet est myregistry.azurecr.io.

Télécharger une image Nginx publique

Tout d’abord, extrayez une image Nginx publique sur votre ordinateur local. Cet exemple extrait l'image Nginx officielle.

docker pull nginx

Exécutez localement le conteneur

Utilisez la commande docker run pour démarrer une instance locale du conteneur Nginx de manière interactive (-it) sur le port 8080. L’argument --rm spécifie que le conteneur doit être supprimé lorsque vous l’arrêtez.

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. Une page similaire à celle ci-dessous doit s'afficher :

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.

Pour arrêter et supprimer le conteneur, appuyez sur Ctrl+C.

Créer un alias de l’image

Utilisez docker tag pour créer un alias de l’image afin de spécifier le chemin complet vers votre registre. Cet exemple spécifie l’espace de noms samples pour éviter l’encombrement à la racine du Registre.

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

Pour plus d’informations sur le balisage avec des espaces de noms, consultez les meilleures pratiques relatives aux espaces de noms de dépôt](container-registry-best-practices.md#repository-namespaces).

Transférer l’image dans votre registre

Maintenant que vous avez tagué l’image avec le chemin complet vers votre registre privé, vous pouvez l'envoyer au registre avec docker push :

docker push myregistry.azurecr.io/samples/nginx

Extraire l'image de votre registre

Utilisez la commande docker pull pour tirer l’image de votre registre :

docker pull myregistry.azurecr.io/samples/nginx

Démarrer le conteneur Nginx

Utilisez la commande Docker Run pour exécuter l’image que vous avez extraite de votre registre :

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.

Pour arrêter et supprimer le conteneur, appuyez sur Ctrl+C.

Supprimer l’image (facultatif)

Si vous n’avez plus besoin de l’image Nginx, vous pouvez la supprimer localement à l’aide de la commande docker rmi.

docker rmi myregistry.azurecr.io/samples/nginx

Pour supprimer des images de votre registre de conteneurs Azure, utilisez 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.

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

Étapes suivantes

Maintenant que vous connaissez les principes de base, vous êtes prêt à commencer à utiliser votre registre. Par exemple, déployez des images de conteneur à partir de votre Registre vers :