Compartir a través de


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

Este es el tutorial final de una serie de tres partes. Anteriormente en la serie, se creó e insertó una imagen de contenedoren Azure Container Registry. En este artículo se completa la serie mediante la implementación del contenedor en Azure Container Instances.

En este tutorial, usted hará lo siguiente:

  • Implementación del contenedor desde Azure Container Registry en Azure Container Instances
  • Visualización de la aplicación en ejecución en el explorador
  • Mostrar los registros del contenedor

Antes de empezar

Debe cumplir los siguientes requisitos para completar este tutorial:

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

Docker: en este tutorial se da por supuesto un conocimiento básico de los conceptos básicos de Docker, como contenedores, imágenes de contenedor y comandos básicos docker . Para conocer los principios básicos de Docker y de los contenedores, consulte Introducción a Docker.

Docker: para completar este tutorial, necesita Docker 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 Docker daemon, debe instalar la CLI de Azure y Docker Engine en el equipo local para completar este tutorial. No puede usar Azure Cloud Shell para este tutorial.

Implementación del contenedor mediante la CLI de Azure

En esta sección, usará la CLI de Azure para implementar la imagen integrada en el primer tutorial e insertarla en Azure Container Registry en el segundo tutorial. Asegúrese de completar esos tutoriales antes de continuar.

Obtención de credenciales del Registro

Al implementar una imagen hospedada en un registro de contenedor privado de Azure, como el creado en el segundo tutorial, debe proporcionar credenciales para acceder 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 de la entidad de servicio y la contraseña de la entidad de servicio. Estas credenciales se usan 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

Desplegar contenedor

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

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

En unos segundos, debe recibir una respuesta inicial de Azure. El --dns-name-label valor debe ser único dentro de la región de Azure que cree 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, que debería tardar menos de un minuto. Cuando el contenedor esté en ejecución, continúe con el paso siguiente.

Ver los registros de la aplicación y del contenedor

Una vez que la implementación se realiza correctamente, muestre el nombre de dominio completo (FQDN) del contenedor con el comando az container show :

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 mostrado en el explorador favorito:

Aplicación Hello World en el navegador

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

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

Ejemplo de resultado:

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 que creó 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 creó, el contenedor en ejecución y todos los recursos relacionados.

az group delete --name myResourceGroup

Pasos siguientes

En este tutorial, ha completado el proceso de implementación del contenedor en Azure Container Instances. Se han completado los siguientes pasos:

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

Ahora que tiene los conceptos básicos, continúe aprendiendo más sobre Azure Container Instances, como el funcionamiento de los grupos de contenedores.

Grupos de contenedores en Azure Container Instances