Azure Container Registry para soluciones de IA: ACR Tasks, etiquetas, versionado y ciclo de vida
Volver a la ruta AI-200
AI-200Capítulo 1

Preparación para la Certificación Microsoft AI-200

Azure Container Registry para soluciones de IA: ACR Tasks, etiquetas, versionado y ciclo de vida

Diseña una cadena privada de imágenes para API de inferencia y servicios auxiliares, compila de forma coherente en Azure, automatiza reconstrucciones e implementa artefactos trazables y reproducibles.

Tiempo de estudio sugerido: 70 minutos • Nivel intermedio • Reescritura original completa con versión resumida de cada tema y laboratorio guiado en la CLI de Azure

Escudo neón Microsoft Certified AI-200 con símbolos de IA, desarrollo en la nube, datos, seguridad, automatización y supervisión

1. Por qué una solución de IA necesita un registro administrado

Una solución real de IA no es únicamente un archivo de modelo. Puede reunir una de inferencia, procesos de preprocesamiento, trabajos de datos y de supervisión. Si cada desarrollador compila en su estación, las dependencias divergen, el historial resulta ambiguo y una reversión puede no reproducir la imagen anterior.

(ACR) centraliza artefactos privados y traslada las compilaciones a . El objetivo es controlar el recorrido desde el código y el Dockerfile hasta una imagen trazable y su implementación en , , u otro entorno.

  • Explicar registros, repositorios, espacios de nombres, artefactos, manifiestos, capas, etiquetas y resúmenes.
  • Compilar y ejecutar imágenes con ACR Tasks sin Docker Engine local.
  • Elegir referencias estables, semánticas, únicas o por resumen según el ciclo.
  • Proteger imágenes implementadas y eliminar contenido obsoleto sin afectar producción.

Resumen del tema

El registro administrado sustituye compilaciones dependientes de cada estación por una cadena centralizada y auditable de imágenes para servicios de IA.

2. Capacidades y niveles de servicio de

ACR es un registro privado administrado compatible con Docker Registry y Open Initiative (OCI). Almacena imágenes, gráficos de Helm, firmas, listas de materiales de software y otros artefactos OCI. La identidad, los roles, la red y las políticas permanecen dentro del gobierno de .

Capacidades relevantes para cargas de IA.
CapacidadValor arquitectónico
Almacenamiento privadoConserva imágenes de inferencia, preprocesamiento y operación en el entorno controlado.
Integración con Proporciona imágenes a , , y canalizaciones.
Replicación geográficaSincroniza contenido en regiones elegidas y sirve mediante un punto de conexión global; requiere Premium.
Compatibilidad OCIReúne imágenes y artefactos de cadena de suministro.
Ejecución en la nubeACR Tasks compila, prueba, ejecuta y mantiene contenedores.

Basic sirve para aprendizaje y desarrollo de menor volumen. Standard eleva almacenamiento y rendimiento. Premium agrega replicación geográfica, puntos de conexión privados y límites superiores. La selección debe basarse en almacenamiento, operaciones de lectura y escritura, aislamiento de red y distribución regional.

El módulo suministrado menciona Docker Content Trust como función Premium. La guía vigente anuncia su retirada el 31 de marzo de 2028 y no permite habilitarlo en registros nuevos desde el 31 de mayo de 2026; los diseños nuevos deben seguir la transición de Microsoft a Notary Project.

Resumen del tema

ACR combina almacenamiento OCI privado, integración con , distribución regional opcional y tareas en la nube; las funciones avanzadas de red y replicación requieren Premium.

3. Jerarquía de registro, repositorio, y artefacto

El registro es el recurso superior. Su nombre único crea el servidor de inicio de sesión, por ejemplo contosoinference.azurecr.io. Autenticación, roles, red, replicación y políticas generales se controlan en este nivel.

Un repositorio agrupa artefactos del mismo nombre con distintas etiquetas. inference-:v1.1.0 e inference-:v1.2.0 pertenecen a inference-. Las barras forman espacios de nombres como production/inference-, staging/inference- o ml-team/model-server y facilitan propiedad y permisos por repositorio.

El artefacto es la imagen, gráfico u objeto OCI almacenado. Contiene capas, configuración y manifiesto. Un artefacto puede tener varias etiquetas, mientras que cada manifiesto posee un resumen derivado del contenido.

Jerarquía de Azure Container Registry entre registro, repositorios con espacio de nombres, etiquetas y manifiestos inmutables.
La dirección parte del servidor, selecciona un repositorio y termina en una etiqueta legible o en el resumen inmutable del manifiesto.

Resumen del tema

El registro controla el servicio, repositorios y espacios de nombres organizan el contenido, y los artefactos son los objetos realmente almacenados.

4. Etiquetas, capas, manifiestos y resúmenes

Una etiqueta es un puntero legible en formato repositorio:etiqueta. Docker usa latest si no se indica otra. Un mismo artefacto puede tener v1.2.0 y stable, pero las etiquetas son mutables: publicar contenido nuevo con el mismo nombre mueve el puntero.

Las imágenes se forman con capas direccionadas por contenido, habitualmente creadas por instrucciones del Dockerfile. ACR deduplica capas idénticas. Varias imágenes de IA basadas en el mismo Python o reutilizan contenido y reducen almacenamiento y descargas.

El manifiesto enumera capas y configuración. Su resumen no cambia tras la publicación. Por eso sha256:… identifica un manifiesto exacto y ofrece la referencia más fuerte para que todos los nodos ejecuten los mismos bytes.

Resumen del tema

Las etiquetas son punteros mutables; las capas guardan contenido reutilizable; el manifiesto describe el artefacto; y fija su identidad.

5. Direccionamiento y organización de repositorios

El direccionamiento por etiqueta es legible y adecuado cuando un consumidor debe seguir una versión móvil. El resumen es más largo pero reproducible. Producción puede conservar una etiqueta única para lectura humana y registrar el resumen exacto para implementación y auditoría.

# Push y pull por etiqueta
docker push myregistry.azurecr.io/inference-api:v1.2.0
docker pull myregistry.azurecr.io/inference-api:v1.2.0

# Pull inmutable
docker pull myregistry.azurecr.io/inference-api@sha256:<resumen-del-manifiesto>
  • Organiza espacios de nombres por equipo, entorno, producto o ciclo de vida.
  • Ubica el registro cerca del entorno y usa replicación geográfica Premium solo para implementaciones multirregionales.
  • Supervisa almacenamiento, crecimiento, latencia de pull y limitación de solicitudes.
  • Aplica acceso de mínimo privilegio basado en ; el nombre no es una barrera de seguridad.
  • Reduce el tamaño de imagen y ordena el Dockerfile para reutilizar caché.

Resumen del tema

Usa etiquetas para intención legible, resúmenes para reproducción exacta, espacios de nombres para organización y políticas de identidad para autorización.

6. ACR Tasks y compilaciones coherentes en la nube

ACR Tasks mueve el ciclo del contenedor desde estaciones individuales hasta ejecución administrada en . El mismo entorno puede compilar Linux, Windows, AMD64, o ARM64, reduciendo diferencias locales y eliminando la necesidad de Docker instalado.

Tres escenarios de ACR Tasks.
EscenarioUso
Tarea rápidaCompilar y publicar bajo demanda con az acr build.
Tarea desencadenadaResponder a código, imagen base o temporizador.
Tarea de varios pasosDescribir build, pruebas, push y comandos en con dependencias.

Cada ejecución genera registros. Las ejecuciones interactivas transmiten salida y las automáticas la almacenan. ACR Tasks puede integrarse con CI/CD, pero identidad, red privada, credenciales de origen y datos expuestos en registros siguen necesitando diseño seguro.

Código y Dockerfile entrando en ACR Tasks y produciendo un artefacto probado para implementación.
ACR Tasks convierte el contexto en un artefacto compilado y probado; los únicos lo vinculan con la ejecución.

Resumen del tema

ACR Tasks ofrece ejecución repetible para compilaciones bajo demanda, automatización por eventos y flujos de varios pasos.

7. Tareas rápidas y contextos de compilación

az acr build empaqueta el contexto, lo envía a ACR, ejecuta el Dockerfile en y publica el resultado correcto. El contexto puede ser directorio local, repositorio GitHub o , o archivo tar remoto. Usa .dockerignore para excluir secretos, salidas, entornos virtuales, datos y archivos innecesarios.

az acr build --registry myregistry --image inference-api:v1.0.0 .

az acr build --registry myregistry \
  --image inference-api:v1.0.0 \
  https://github.com/myorg/inference-api.git

La tarea rápida sirve para validar Dockerfile, generar imágenes puntuales, probar una base o dependencia y actuar como paso simple de una canalización. No reemplaza una política que registre código, pruebas, aprobación e implementación.

Resumen del tema

La tarea rápida es el camino más corto desde un contexto local, Git o tar hasta una imagen en la nube; el contexto debe ser pequeño y no contener secretos.

8. Desencadenadores de código fuente, imagen base y programación

El desencadenador de origen conecta una tarea a GitHub o y reacciona a commits o pull por . Para origen privado, protege la credencial y limita su alcance. No incluyas en repositorios, scripts, o comandos que puedan aparecer en diagnóstico; utiliza un flujo seguro como .

El desencadenador de imagen base sigue la imagen referenciada por FROM. Cuando cambia un , sistema operativo, CUDA, Python o base interna, puede recompilar dependientes. ACR descubre la relación durante el build; valida el comportamiento para orígenes públicos, privados y redes restringidas.

Los temporizadores usan expresiones cron para builds nocturnos, parches, pruebas, mantenimiento o limpieza. La programación aporta cadencia, pero no demuestra que la imagen sea apta: pruebas y puertas de promoción siguen siendo necesarias.

az acr task create \
  --registry myregistry \
  --name build-inference-api \
  --image inference-api:{{.Run.ID}} \
  --context https://github.com/myorg/inference-api.git#main \
  --file Dockerfile \
  --git-access-token "$PAT"

Resumen del tema

Los desencadenadores reaccionan a código, base o horario; credenciales y versiones resultantes todavía requieren mínimo privilegio, pruebas y promoción.

9. Flujos de varios pasos, variables y validación

Una tarea de varios pasos usa para coordinar build, push y cmd. Los pasos pueden depender del éxito anterior, ejecutarse en paralelo o usar condiciones. Así se compila, se ejecutan pruebas en un contenedor y solo después se publica o promueve.

version: v1.1.0
steps:
  - build: -t {{.Run.Registry}}/inference-api:{{.Run.ID}} .
  - push:
      - {{.Run.Registry}}/inference-api:{{.Run.ID}}
  - cmd: {{.Run.Registry}}/inference-api:{{.Run.ID}} python -m pytest tests/

Variables como {{.Run.ID}} y {{.Run.Date}} generan etiquetas trazables. az acr run también ejecuta un comando en una imagen existente con /dev/null como contexto, útil para validar inicio, runtime, o salud.

az acr run --registry myregistry \
  --cmd 'inference-api:v1.0.0 python --version' \
  /dev/null

az acr task logs --registry myregistry --name build-inference-api
  • Revisa y conserva registros según auditoría.
  • Ordena el Dockerfile para maximizar la caché de capas.
  • Usa identidades de ejecución en lugar de credenciales incrustadas.
  • No coloques secretos en parámetros visibles por diagnóstico.

Resumen del tema

combina build, pruebas, push y comandos; variables y registros relacionan el artefacto con su ejecución.

10. Estrategias de etiquetas estables y únicas

Etiquetas estables como 1, 1.2, stable o latest se reutilizan. Sirven para bases mantenidas, desarrollo o consumidores que deben seguir actualizaciones. El riesgo es que dos nodos soliciten la misma etiqueta en momentos distintos y obtengan manifiestos diferentes.

Una etiqueta única nunca se reutiliza. ID de compilación, de commit, marca de tiempo UTC y combinaciones como v1.2.0-build4567-abc123f aportan trazabilidad. Un solo no distingue una reconstrucción causada únicamente por una base nueva; combina fuente y ejecución.

Referencia por etapa.
NecesidadReferencia recomendada
Imagen base mantenidaEtiqueta estable principal o secundaria con recompilación y validación.
DesarrolloEtiqueta móvil si se espera el cambio.
ProducciónEtiqueta única y resumen registrado.
Auditoría o reversión de ejecución vinculados al código, pruebas y resumen.

Resumen del tema

Las etiquetas estables se mueven; las únicas preservan historial. Producción suele requerir una etiqueta única y su resumen.

11. Versionado semántico y el problema de latest

El versionado semántico comunica compatibilidad con MAJOR.MINOR.: MAJOR para ruptura, MINOR para característica compatible y para corrección compatible o de seguridad. Puede coexistir con punteros: 1 sigue 1.x, 1.1 sigue 1.1.x y 1.1.0 identifica una línea concreta.

inference-api:1.0.0
inference-api:1.0.1
inference-api:1.1.0
inference-api:2.0.0

# Etiqueta de producción trazable
inference-api:v1.2.0-build4567-abc123f

latest solo es la etiqueta predeterminada de Docker cuando no se indica otra; no prueba actualidad, calidad, aprobación ni compatibilidad. Evítala en producción porque oculta intención y permite cambios silenciosos. Usa etiqueta única explícita o resumen.

Comparación entre latest móvil, etiqueta de versión única y resumen SHA-256 inmutable.
Una etiqueta puede cambiar de manifiesto; el resumen permanece unido a uno solo. La política debe conservar intención legible e identidad inmutable.

Resumen del tema

El versionado semántico comunica compatibilidad, los únicos aportan trazabilidad y latest no debe identificar producción.

12. Bloqueo de imágenes de producción

Un artefacto implementado no debe desaparecer ni sobrescribirse accidentalmente. Los atributos del repositorio pueden deshabilitar escritura en una versión o repositorio. Esta protección de datos es distinta de un bloqueo de , que protege administración pero no vuelve inmutable el contenido.

# Bloquear una etiqueta implementada
az acr repository update \
  --name myregistry \
  --image inference-api:v1.2.0 \
  --write-enabled false

# Restaurar escritura y eliminación al retirarla
az acr repository update \
  --name myregistry \
  --image inference-api:v1.2.0 \
  --write-enabled true --delete-enabled true

Una estrategia completa controla escritura, eliminación y lectura por separado. Comprueba atributos de etiqueta y manifiesto, que son objetos relacionados pero distintos. Desbloquea solo mediante retirada controlada.

Resumen del tema

Usa atributos de datos del repositorio, no solo bloqueos del recurso , para impedir sobrescritura o eliminación de una imagen implementada.

13. Manifiestos sin etiqueta, purga y retención

Mover una etiqueta estable puede dejar el manifiesto anterior sin etiqueta y aún ocupando espacio. Eliminar indiscriminadamente es peligroso porque puede seguir implementado por resumen. Inventaría los entornos activos y protege los manifiestos necesarios.

# Simular el filtro antes de eliminar
az acr run --registry myregistry \
  --cmd "acr purge --filter 'inference-api:.*' --untagged --ago 30d --dry-run" \
  /dev/null

acr purge se ejecuta como ACR Task y filtra repositorios, etiquetas, antigüedad y manifiestos sin etiqueta. Una tarea programada automatiza la operación. La retención Premium es una alternativa en para manifiestos Docker elegibles; se aplica después de habilitarla y no cubre todos los medios OCI. La eliminación es irreversible: valida simulación, bloqueos y alcance.

Resumen del tema

El contenido sin etiqueta todavía ocupa espacio; usa simulación, inventario, bloqueos, purga limitada o retención elegible antes de borrar.

14. Laboratorio guiado: compilar y administrar una de IA

El ejercicio suministrado estima 30 minutos y requiere suscripción con permiso, , Python 3.12 o posterior y CLI de actualizada. Las ejecuciones de ACR Tasks están temporalmente pausadas para créditos gratuitos; usa una suscripción de pago elegible. Puede haber costos y debes retirar recursos.

  1. Prepara archivos con , dependencias, Dockerfile y prueba sencilla.
  2. Inicia sesión, selecciona la suscripción y crea un grupo de recursos dedicado.
  3. Crea un registro Basic con nombre único.
  4. Ejecuta az acr build con etiqueta única y revisa .
  5. Enumera repositorios, etiquetas y ; registra el resumen.
  6. Valida la imagen con az acr run.
  7. Genera otra versión o etiqueta con ID de ejecución y compara.
  8. Bloquea la etiqueta promovida y documenta reversión.
  9. Elimina el grupo dedicado si no contiene recursos compartidos.
RG=rg-ai200-acr-lab
LOCATION=eastus
ACR_NAME=<nombre-globalmente-unico>

az group create --name $RG --location $LOCATION
az acr create --resource-group $RG --name $ACR_NAME --sku Basic
az acr build --registry $ACR_NAME --image inference-api:v1.0.0 .
az acr repository list --name $ACR_NAME --output table
az acr repository show-tags --name $ACR_NAME --repository inference-api --detail --output table
az acr manifest list-metadata --registry $ACR_NAME --name inference-api --output table
az acr run --registry $ACR_NAME --cmd 'inference-api:v1.0.0 python --version' /dev/null

No introduzcas de producción en comandos, build args, capas, Git ni tareas. En canalizaciones reales usa identidades administradas, secretos protegidos y evidencia de pruebas antes de promover.

Resumen del tema

El laboratorio crea el registro, compila en la nube, valida y runtime, registra identidad inmutable, protege la versión y limpia recursos.

15. Comprobación reescrita y justificación

Aprende la decisión mediante la justificación.
PreguntaMejor respuestaMotivo
¿Cómo eliminar diferencias entre estaciones?Usa compilación rápida o tarea persistente de ACR Tasks.La compilación sucede en un entorno controlado.
¿Cómo garantizar exactamente el mismo artefacto tras mover una etiqueta?Referencia el resumen del manifiesto. es inmutable; la etiqueta es un puntero.
¿Cómo recompilar cuando cambia la base PyTorch?Configura un desencadenador de imagen base.La tarea sigue la dependencia FROM.
¿Qué etiqueta permite trazabilidad y reversión?Etiqueta única con commit e ID de build o ejecución.No se reutiliza y vincula artefacto, origen y canalización.
¿Cómo impedir sobrescritura de una imagen activa?Establece write-enabled en false.El atributo protege el objeto del repositorio.

Resumen del tema

Las decisiones fundamentales son compilación controlada, resumen inmutable, desencadenador de base, etiqueta única y bloqueo del repositorio.

16. Revisión final y referencias de Microsoft

  • Registro → repositorio/ → artefacto es la jerarquía.
  • Las etiquetas expresan intención; manifiestos y resúmenes fijan identidad.
  • ACR Tasks admite tareas rápidas, desencadenadas, programadas y de varios pasos.
  • Etiquetas estables sirven a dependencias; etiquetas únicas y resúmenes a implementaciones.
  • Bloqueos protegen versiones; purga o retención controlan crecimiento.
  • Mínimo privilegio, secretos, pruebas, registros y promoción completan la cadena.
  1. Microsoft Learn: documentación de
  2. Registros, repositorios, imágenes y artefactos
  3. Automatizar compilaciones y mantenimiento con ACR Tasks
  4. Recomendaciones para etiquetas y versionado
  5. Bloquear una imagen en
  6. Procedimientos recomendados para
  7. Transición de Docker Content Trust a Notary Project

Resumen del tema

Una cadena fiable de contenedores de IA combina almacenamiento organizado, compilaciones reproducibles, identidad inmutable, ciclo de vida controlado y automatización protegida.