Tutorial: Implementación de una aplicación de contenedor en Azure Container Instances

Este es el último tutorial de una serie de tres partes. En las series anteriores, se creó una imagen de contenedor y se insertó en una instancia de Azure Container Registry. En este artículo se completa la serie con la implementación del contenedor en Azure Container Instances.

En este tutorial ha:

  • Implementar el contenedor de Azure Container Registry a Azure Container Instances
  • Visualizar la aplicación en ejecución en el explorador
  • Mostrar los registros del contenedor

Antes de empezar

Para completar este tutorial es preciso cumplir los siguientes requisitos:

CLI de Azure: debe tener la versión 2.0.29 de la CLI de Azure, cualquier versión posterior, instalada en el equipo local. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, consulte Instalación de la CLI de Azure.

Docker: en este tutorial se supone que el usuario tiene un conocimiento básico de los principales conceptos de Docker, como los contenedores, las imágenes de contenedor y los comandos básicos de docker. Para conocer los principios básicos de Docker y de los contenedores, consulte Introducción a Docker.

Docker: para completar este tutorial, es preciso que el motor de Docker esté instalado localmente. Docker dispone de paquetes que configuran el entorno de Docker en macOS, Windows y Linux.

Importante

Dado que Azure Cloud Shell no incluye el demonio de Docker, para completar este tutorial es preciso instalar tanto la CLI de Azure como el motor de Docker en el equipo local. Azure Cloud Shell no se puede instalar para este tutorial.

Implementación del contenedor mediante la CLI de Azure

En esta sección, se utiliza la CLI de Azure para implementar la imagen integrada en el primer tutorial e insertarla en Azure Container Registry del segundo tutorial. Asegúrese de haber completado estos tutoriales antes de continuar.

Obtención de las credenciales del registro

Al implementar una imagen que se hospeda en una instancia privada de Azure Container Registry como la que se creó en el segundo tutorial, debe proporcionar las credenciales de acceso al registro.

En muchos escenarios, uno de los procedimientos recomendados es crear y configurar una entidad de servicio de Microsoft Entra con permisos de extracción en el registro. Consulte Autenticación con Azure Container Registry desde Azure Container Instances para obtener scripts de ejemplo con el fin de crear una entidad de servicio con los permisos necesarios. Anote el identificador y la contraseña de la entidad de servicio. Usará estas credenciales para acceder al registro al implementar el contenedor.

También necesita el nombre completo del servidor de inicio de sesión del registro de contenedor (reemplace <acrName> por el nombre del registro):

az acr show --name <acrName> --query loginServer

Implementación de un contenedor

Ahora, utilice comando az container create para implementar el contenedor. Reemplace <acrLoginServer> por el valor obtenido con el comando anterior. Reemplace <service-principal-ID> y <service-principal-password> por el identificador de la entidad de servicio y la contraseña que creó para acceder al registro. Reemplace <aciDnsLabel> por el nombre de DNS que desee.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

Al cabo de unos segundos, debe recibir una respuesta inicial de Azure. El valor --dns-name-label debe ser único dentro de la región de Azure en la que crea la instancia de contenedor. Modifique el valor del comando anterior si recibe un mensaje de error de etiqueta de nombre DNS al ejecutar el comando.

Comprobación del progreso de la implementación

Para ver el estado de la implementación, use az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Repita el comando az container show hasta que el estado cambie de Pendiente a En ejecución, lo que debe tardar menos de un minuto. Cuando el contenedor esté en En ejecución, continúe con el paso siguiente.

Visualización de los registros de contenedor y aplicación

Cuando se complete correctamente la implementación, utilice el comando az container show para mostrar el nombre de dominio completo (FQDN) del contenedor con el comando:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Por ejemplo:

"aci-demo.eastus.azurecontainer.io"

Para ver la aplicación en ejecución, vaya al nombre DNS que aparece en su explorador favorito:

Aplicación Hola mundo en el explorador

También puede ver la salida de registro del contenedor:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Salida de ejemplo:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Limpieza de recursos

Si ya no necesita ninguno de los recursos creados en esta serie de tutoriales, puede ejecutar el comando az group delete para quitar el grupo de recursos y todos los recursos que contiene. Este comando elimina el registro de contenedor que se ha creado, así como el contenedor en ejecución y todos los recursos relacionados.

az group delete --name myResourceGroup

Pasos siguientes

En este tutorial se completó el proceso de implementar los contenedores en Azure Container Instances. Se han completado los siguientes pasos:

  • Implementación del contenedor desde Azure Container Registry mediante la CLI de Azure
  • Visualización de la aplicación en el explorador
  • Visualización de los registros del contenedor

Ahora que ya tiene los conceptos básicos, va a aprender más acerca de Azure Container Instances, como por ejemplo, cómo funcionan los grupos de contenedores:

Grupos de contenedores en Azure Container Instances