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. 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 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 completar esos 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:
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, 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: