Subir una imagen Docker a Azure Container Registry te permite tener un repositorio privado en la nube, listo para desplegar en cualquier servicio de Microsoft Azure. Aquí aprendes a crear el registro, autenticarte desde la terminal y publicar tu imagen optimizada para producción, siguiendo un flujo replicable en cualquier proveedor de nube.
¿Por qué usar un Container Registry privado en Azure?
Cuando llevas una imagen Docker a producción, Docker Hub público deja de ser suficiente. Necesitas un espacio privado donde solo tu equipo y tus servicios puedan acceder a esa imagen.
Azure ofrece Azure Container Registry (ACR), un servicio que cumple exactamente esa función. La lógica es la misma que verías en AWS o Google Cloud: un repositorio privado de imágenes listo para conectarse con las herramientas de despliegue del proveedor.
¿Qué es Azure Container Registry? Es un servicio de Azure que almacena imágenes Docker de forma privada para que puedas desplegarlas en servicios como App Service, AKS o Container Instances.
¿Cómo creo un Container Registry desde el portal de Azure?
Antes de subir nada, necesitas un grupo de recursos que funcione como tu área de trabajo. En el ejemplo se usó uno llamado Contenedores Platzi, donde se aloja toda la infraestructura del proyecto.
Dentro de ese grupo, el flujo para crear el registro es directo:
- Selecciona crear y busca container registry.
- Asigna un nombre único, en este caso platziregistry, y espera la validación con la palomita verde.
- Define la ubicación, por ejemplo East US 2, sin zonas de disponibilidad.
- Elige el plan estándar y confirma con crear.
En pocos minutos, Azure despliega el recurso y aparece dentro del grupo. En la categoría Services del menú izquierdo encontrarás los repositories, que es donde vivirán tus imágenes.
¿Qué es un grupo de recursos en Azure?
El resource group es un contenedor lógico donde colocas toda la infraestructura de un proyecto: registros, máquinas, redes, bases de datos. Te ayuda a organizar, facturar y eliminar recursos como una sola unidad.
¿Cómo autentico Docker contra Azure Container Registry?
Una vez creado el registro, copia el nombre del recurso desde la vista general del portal. Solo necesitas la primera parte, sin el sufijo azurecr.io.
Abre la terminal y usa la Azure CLI para validar el acceso:
bash
az acr login -n platziregistry
El parámetro -n indica el nombre del registro. Si la autenticación funciona, verás el mensaje login succeeded. A partir de ese momento, tu Docker local puede empujar imágenes hacia ese registro privado.
¿Para qué sirve az acr login? Autentica tu cliente Docker contra Azure Container Registry usando tus credenciales de Azure CLI, sin necesidad de manejar tokens manualmente.
¿Cómo construyo y subo la imagen Docker a Azure?
Con la sesión iniciada, ubícate en la carpeta donde está tu Dockerfile. En el ejemplo se trabaja con la carpeta frontend del repositorio Docker Fundamentos, que contiene el Dockerfile y los archivos del sitio web.
¿Cómo etiqueto correctamente la imagen para ACR?
El tag debe incluir la URL completa del registro. Esto le indica a Docker que la imagen no va a Docker Hub, sino a tu ACR privado.
bash
docker build -t platziregistry.azurecr.io/sitioweb:latest .
Aquí pasan tres cosas importantes:
platziregistry.azurecr.io apunta a tu registro privado en Azure.
sitioweb es el nombre del repositorio dentro del registro.
latest es la versión; puedes usar números o referencias específicas para mantener varias versiones.
¿Cómo verifico y empujo la imagen?
Antes de subirla, confirma que la imagen existe en tu entorno local:
bash
docker images
Deberías ver listada platziregistry.azurecr.io/sitioweb con el tag latest. Después, ejecuta el push:
bash
docker push platziregistry.azurecr.io/sitioweb:latest
Un detalle típico: si escribes mal el tag, por ejemplo latests con una S de más, el push falla. Corrige y vuelve a ejecutar. Docker reconoce el tag completo y envía la imagen directamente al container registry de Azure, no al Docker Hub.
¿Cómo confirmo que la imagen quedó publicada en Azure?
Regresa al portal y entra a repositories dentro de tu Platzi Registry. Verás el repositorio sitioweb con la fecha de publicación y los tags disponibles, incluido latest.
Usar tags con versiones te permite mantener historiales de la misma imagen sin colisiones. Es la misma lógica de Docker Hub, pero en un entorno privado y controlado por tu organización.
Desde aquí, tu imagen queda lista para conectarse con servicios como App Service, Azure Kubernetes Service o Container Instances. ¿En qué proyecto te gustaría aplicar este flujo? Cuéntame en los comentarios.