Logo

dev-resources.site

for different kinds of informations.

Desplegar un contenedor de Docker desde Azure Container Registry en una WebApp

Published at
1/6/2025
Categories
docker
azure
containers
spanish
Author
asjordi
Categories
4 categories in total
docker
open
azure
open
containers
open
spanish
open
Author
7 person written this
asjordi
open
Desplegar un contenedor de Docker desde Azure Container Registry en una WebApp

Generalmente, podr铆amos pensar que para desplegar un contenedor de Docker con una aplicaci贸n web o API necesitamos una m谩quina virtual o alg煤n servicio m谩s completo. Sin embargo, en Azure lo podemos realizar utilizando un App Service, que es un servicio que permite ejecutar contenedores de Linux personalizados, tambi茅n conocidos como Webapp for containers. De esta manera podemos desplegar contenedores de varios registros, como Docker Hub o Azure Container Registry. En este post, veremos c贸mo desplegar un contenedor de Docker desde Azure Container Registry en una WebApp.

Configurar el registro de contenedores

Para comenzar, necesitamos tener un registro de contenedores en Azure con la imagen que queremos desplegar. En caso de que a煤n no tengas un registro de contenedores, puedes crear uno siguiendo este tutorial donde se explica a detalle el proceso de creaci贸n y subida de im谩genes.

En este caso utilizar茅 una imagen propia de una API b谩sica de Node.js, puedes consultar el c贸digo fuente en este repositorio. Una vez que tengamos el registro de contenedores y la imagen a utilizar, podemos continuar con la creaci贸n de la WebApp.

Azure Container Registry

Habilitar cuenta de administrador en el registro de contenedores

Para algunos servicios de Azure es necesario que la cuenta de administrador del registro de contenedores se encuentre habilitada, por defecto esta opci贸n se encuentra deshabilitada. En este caso, dado que vamos a desplegar un contenedor desde un registro en una Azure Web App for Containers es necesario habilitar esta opci贸n. Para ello, debemos iniciar sesi贸n desde la CLI de Azure con el siguiente comando:

az login
Enter fullscreen mode Exit fullscreen mode

Ahora debemos iniciar sesi贸n en el registro de contenedores:

az acr login --name <nombre_registro>

# Ejemplo
az acr login --name asjordi
Enter fullscreen mode Exit fullscreen mode

Una vez que hayamos iniciado sesi贸n en el registro de contenedores, ejecutamos el siguiente comando para habilitar la cuenta de administrador:

az acr update -n <acrName> --admin-enabled true

# Ejemplo
az acr update --n asjordi --admin-enabled true
Enter fullscreen mode Exit fullscreen mode

Con esto, hemos habilitado la cuenta de administrador en el registro de contenedores y podemos continuar con el proceso de despliegue de la WebApp. Si tienes alguna duda con este proceso, puedes consultar la documentaci贸n oficial.

Crear una WebApp

Iniciar sesi贸n en el portal de Azure y buscar el servicio App Services. Una vez dentro, clic en el bot贸n Crear y seleccionar Web app.

Crear WebApp

Realizamos los siguientes pasos:

  • Seleccionar la suscripci贸n y el grupo de recursos (o creamos uno nuevo).
  • Posteriormente en Detalles de Instancia ingresamos un nombre 煤nico para la WebApp (podemos marcar o no la opci贸n de prueba un nombre de host 煤nico por defecto (preview)).
  • Seleccionar Contenedor y Linux como sistema operativo.
  • Elegir la regi贸n en la que se desplegar谩 la WebApp.
  • En el apartado de Plan de servicio, seleccionar un plan de servicio existente o crear uno nuevo, en este caso seleccion茅 el plan de servicio gratuito.

Configuraci贸n inicial

Hacemos clic en el apartado de Contenedor:

  • En Fuente de la imagen, seleccionamos Azure Container Registry.
  • En Opciones, seleccionamos Contenedor 煤nico.

En Opciones de Azure Container Registry seleccionamos el registro de contenedores previamente creado, la imagen y la etiqueta que queremos desplegar.

Antes de continuar, en caso de que se muestre una advertencia indicando que no tenemos permisos para acceder al registro como se muestra en la siguiente imagen puede que no tengamos habilitada la cuenta de administrador en el registro de contenedores, en ese caso, realizar el paso Habilitar cuenta de administrador en el registro de contenedores

Error de permisos

Una vez que tenemos seleccionado el registro de contenedores, la imagen y la etiqueta, y estamos seguros de que no se necesita un comando personalizado para la ejecuci贸n del contenedor (si es necesario se puede agregar en el apartado de Comando de inicio), podemos hacer clic en Revisar y crear para verificar que la configuraci贸n sea correcta y finalmente hacer clic en Crear para desplegar la WebApp.

Configuraci贸n de la imagen

Al finalizar la implementaci贸n, seleccionar Ir al recurso para acceder al recurso de la WebApp.

Acceder a la WebApp

Una vez dentro del recurso, en la secci贸n de Overview podemos ver en la parte superior derecha la URL de la WebApp o el dominio por defecto, en este caso, la URL es api-words.azurewebsites.net.

URL de la WebApp

Al acceder a la URL, deber铆amos ver el contenido de nuestra imagen, por ejemplo, una aplicaci贸n web o una API.

API desplegada

Conclusiones

Desplegar un contenedor de Docker en una WebApp en Azure es una tarea sencilla y r谩pida de realizar, adem谩s de que tenemos opciones un poco m谩s avanzadas disponibles dentro del servicio de App Services para trabajar con contenedores. En este caso, vimos c贸mo desplegar un contenedor de Docker desde Azure Container Registry en una WebApp, pero tambi茅n podemos desplegar contenedores de Docker Hub o de otros registros siguiendo el mismo proceso. Si solo realizas esto a manera de prueba, recuerda eliminar el grupo de recursos para evitar cargos adicionales. Cualquier duda puedes consultar la documentaci贸n oficial.

spanish Article's
30 articles in total
Favicon
C贸mo gestionar tus proyectos de software con Github
Favicon
M谩s All谩 del C贸digo: La Importancia de la Resoluci贸n de Problemas para Destacar como Programador
Favicon
Configurar servidor de archivos local con Ubuntu y Samba
Favicon
Envias Correo Electr贸nicos gratis con Resend Emails
Favicon
Git avanzado: 驴Qu茅 es cherry pick? 馃崚
Favicon
Desplegar un contenedor de Docker desde Azure Container Registry en una WebApp
Favicon
C贸mo puedes llegar a ser AWS Cloud Club Captain (consejos de una capitana!)
Favicon
驴Elegimos el lenguaje de programaci贸n o el destino lo elige por nosotros?
Favicon
Proyecto Lombok en Java
Favicon
Crear software: Juego de personas
Favicon
"Escapando" de IntelliJ
Favicon
Las claves para NO romperlo TODO: Branches en Git 馃毃馃攽
Favicon
Git: haz que todos amen leer tus commits
Favicon
驴Qu茅 son los enums en Java?
Favicon
Puede la IA reemplazar los trabajos de desarrollo? Vamos a hablar de ello!
Favicon
驴Para qu茅 sirve String[] args en el m茅todo main de Java?
Favicon
La dualidad de tu profesi贸n.
Favicon
C贸mo instalar el JDK de Java usando Temurin en Windows
Favicon
Aprende a programar con Python y Thonny 馃悕
Favicon
隆Primeros pasos en GIT! GIT para PRINCIPIANTES
Favicon
驴Qu茅 es GIT, por qu茅 TODOS los developers lo usan?: Historia de GIT
Favicon
Try with resources en Java
Favicon
Redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN)
Favicon
JSON Web Tokens (JWT): Gu铆a Esencial y Buenas Pr谩cticas
Favicon
C贸mo instalar el OpenJDK de Java en Windows
Favicon
C贸mo Desarroll茅 MemoMate: Un Asistente Personal en Telegram con IA
Favicon
C贸mo ver los campos de tu WordPress de un modo diferente
Favicon
Construyendo un Sistema de Asistencia con Reconocimiento Facial Usando Next.js y FACEIOm
Favicon
JSON#: nuestro propio lector/escritor
Favicon
Recursos para AWS Certified Cloud Practitioner

Featured ones: