Envoyer (push) l’image conteneur à Azure Container Registry

Terminée

Dans cette unité, vous utilisez le service Azure Container Registry pour envoyer (push) une image conteneur à votre registre de conteneurs Azure. Azure Container Registry vous permet de générer, stocker et gérer des images et artefacts conteneur dans un registre privé pour tous les types de déploiements de conteneurs. Utilisez des registres de conteneurs Azure avec vos pipelines de développement et de déploiement de conteneurs existants.

Remarque

Si votre session est inactive ou que vous effectuez cette étape à un autre moment ou à partir d’une autre interface CLI, vous devrez peut-être réinitialiser vos variables d’environnement et réauthentifier à l’aide des commandes suivantes :

Restaurez les valeurs des variables de ressources utilisées lors de l’installation. Remplacez <your-subscription-ID> ci-dessous par l’ID de l’abonnement que vous avez utilisé pour ce module. Si la connexion présente un sélecteur d’abonnement, choisissez ce même abonnement. Exécutez les commandes d’authentification une par une. Après az account show, vérifiez que l’abonnement actif correspond à la configuration avant de continuer. Si une commande échoue, arrêtez et résolvez l’erreur.

export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>
az login
az account set --subscription "<your-subscription-ID>"
az account show --output table
az acr login --name "$AZ_CONTAINER_REGISTRY"

Envoi (push) d’une image conteneur

Vous pouvez envoyer (push) votre image conteneur nouvellement créée à votre registre de conteneurs Azure. Ainsi, votre image de conteneur est proche du réseau de toutes vos ressources Azure, telles que votre cluster Azure Kubernetes Service (AKS). Plus tard, vous configurez AKS pour extraire l’image flightbookingsystemsample du Registre. Pour envoyer (push) l’image conteneur à votre registre, procédez comme suit :

  1. Utilisez la commande suivante pour vous connecter à Azure Container Registry, si ce n’est déjà fait :

    az acr login
    
  2. Inspectez l’image locale réelle avant de l’étiqueter ou de l’envoyer (push) :

    docker image inspect flightbookingsystemsample:latest \
      --format '{{.Os}}/{{.Architecture}}'
    

    Pour ce chemin, le résultat doit être linux/amd64. Si elle diffère, régénérez et exécutez l’image avec --platform linux/amd64, comme décrit dans la section précédente avant de continuer. L’étiquetage et l’envoi (push) conservent la plateforme de l’image ; ils ne changent pas son architecture.

  3. Utilisez la commande suivante pour baliser l’image conteneur créée précédemment avec votre registre de conteneurs Azure :

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. Utilisez la commande suivante pour envoyer (push) l’image conteneur à votre registre de conteneurs Azure :

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  5. Une fois l’envoi push terminé, vous pouvez afficher les métadonnées d’image du registre de conteneurs Azure de l’image nouvellement envoyée à l’aide de la commande suivante :

    az acr repository show \
        --name $AZ_CONTAINER_REGISTRY \
        --image flightbookingsystemsample:latest
    

Les métadonnées historiques suivantes sont données à titre d’exemple. Votre condensé d’image et vos horodatages peuvent différer après la génération et l’envoi (push) de l’image mise à jour :

{
  "changeableAttributes": {
    "deleteEnabled": true,
    "listEnabled": true,
    "readEnabled": true,
    "writeEnabled": true
  },
  "createdTime": "2024-11-15T12:23:55.5624474Z",
  "digest": "sha256:13851640a3****************************************f7f1e482c6eaa825",
  "lastUpdateTime": "2024-11-15T12:23:55.5624474Z",
  "name": "latest",
  "signed": false
}

Votre image conteneur se trouve désormais dans votre registre de conteneurs Azure et est prête pour les déploiements par les services Azure tels qu’AKS.