Insertar una imagen de contenedor en Azure Container Registry

Completados

En esta unidad, usará el servicio Azure Container Registry para enviar una imagen de contenedor al registro de contenedor de Azure. Azure Container Registry permite compilar, almacenar y administrar imágenes y artefactos de contenedor en un registro privado para todos los tipos de implementaciones de contenedor. Use los registros de contenedor de Azure con el desarrollo de contenedores y las canalizaciones de implementación existentes.

Nota:

Si la sesión ha caducado por inactividad o está realizando este paso en otro momento o desde otra CLI, es posible que tenga que reinicializar las variables de entorno y volver a autenticarse mediante los siguientes comandos:

Restaure los valores de las variables de recursos utilizados en la configuración. Reemplace <your-subscription-ID> a continuación por el identificador de la suscripción que usó para este módulo. Si el inicio de sesión presenta un selector de suscripción, elija esa misma suscripción. Ejecute los comandos de autenticación de uno en uno. Después de az account show, confirme que la suscripción activa coincide con la configuración antes de continuar. Si un comando falla, detenga y resuelva el error.

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"

Inserción de una imagen de contenedor

Puede publicar la imagen de contenedor recién compilada en el registro de contenedor de Azure. Al hacerlo, su imagen de contenedor está cerca en red de todos sus recursos de Azure, como el clúster de Azure Kubernetes Service (AKS). Más adelante, configurará AKS para extraer la flightbookingsystemsample imagen del registro. Para subir la imagen de contenedor a su registro, siga estos pasos:

  1. Utilice el comando siguiente para iniciar sesión en Azure Container Registry, si aún no lo ha hecho:

    az acr login
    
  2. Inspeccione la imagen local real antes de etiquetarla o enviarla:

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

    Para esta ruta de acceso, el resultado debe ser linux/amd64. Si difiere, vuelva a compilar y ejecute la imagen con --platform linux/amd64 tal y como se describe en la unidad anterior antes de continuar. El etiquetado y la publicación conservan la plataforma de la imagen; no modifican su arquitectura.

  3. Utiliza el siguiente comando para etiquetar la imagen de contenedor compilada anteriormente con tu Azure Container Registry:

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. Utiliza el siguiente comando para publicar la imagen de contenedor en tu Azure Container Registry:

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  5. Una vez completado el push, puede ver los metadatos de la imagen del registro de contenedor de Azure de la imagen recién cargada mediante el comando siguiente:

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

Los metadatos históricos siguientes son ilustrativos. El resumen de la imagen y las marcas de tiempo pueden diferir después de compilar y hacer push de la imagen actualizada:

{
  "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
}

La imagen de contenedor se encuentra ahora en Azure Container Registry y está lista para las implementaciones por parte de los servicios de Azure, como AKS.