(EN DESUSO) Creación de imágenes de contenedor que se van a usar con Azure Container Service
Sugerencia
Para obtener la versión actualizada de este tutorial que usa Azure Kubernetes Service, consulte Tutorial: Preparación de una aplicación para Azure Kubernetes Service (AKS).
Advertencia
Azure Container Service (ACS) está en desuso. No hay características o funcionalidades nuevas para agregar a ACS. Todas las API, la experiencia del portal, los comandos de la CLI y la documentación se marcan como en desuso.
En 2017, presentamos Azure Kubernetes Service (AKS) para simplificar la administración, la implementación y las operaciones de Kubernetes. Si usa el orquestador de Kubernetes, migre a AKS antes del 31 de enero de 2020. Para empezar, vea Migración de Azure Container Service (ACS) a Azure Kubernetes Service (AKS).
Para más información, consulte el anuncio de desuso de Azure Container Service en Azure.com.
En este tutorial, la primera parte de siete, se prepara una aplicación con varios contenedores para usarla en Kubernetes. Los pasos completados incluyen:
- La clonación de origen de la aplicación desde GitHub
- La creación de una imagen de contenedor desde el origen de la aplicación
- La prueba de la aplicación en un entorno local de Docker
Tras completar los pasos anteriores, se puede acceder a la siguiente aplicación en el entorno de desarrollo local.
En los tutoriales posteriores, la imagen de contenedor se carga en una instancia de Azure Container Registry y después se ejecuta en un clúster de Kubernetes hospedado en Azure.
Antes de empezar
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. Si es necesario, consulte la introducción a Docker, donde encontrará datos básicos acerca de los contenedores.
Para completar este tutorial, se necesita un entorno de desarrollo de Docker. Docker proporciona paquetes que permiten configurar Docker fácilmente en cualquier sistema Mac, Windows o Linux.
Azure Cloud Shell no incluye los componentes de Docker necesarios para completar cada paso de este tutorial. Por lo tanto, se recomienda usar un entorno completo de desarrollo de Docker.
Obtención del código de la aplicación
La aplicación de ejemplo que se usa en este tutorial es una aplicación básica para votar. La aplicación consta de un componente web front-end y de una instancia back-end de Redis. El componente web se empaqueta en una imagen de contenedor personalizada. La instancia de Redis usa una imagen sin modificar de Docker Hub.
Use git para descargar una copia de la aplicación en su entorno de desarrollo.
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Cambie los directorios para trabajar desde el directorio clonado.
cd azure-voting-app-redis
En el directorio se encuentra el código fuente de la aplicación, un archivo de Docker Compose creado previamente y un archivo de manifiesto de Kubernetes. Estos archivos se usan en todo el conjunto del tutorial.
Creación de imágenes de contenedor
Docker Compose puede utilizarse para automatizar la creación de imágenes de contenedor y la implementación de aplicaciones con varios contenedores.
Ejecute el archivo docker-compose.yml
para crear la imagen de contenedor, descargue la imagen de Redis e inicie la aplicación.
docker-compose up -d
Cuando haya finalizado, use el comando docker images para ver las imágenes creadas.
docker images
Tenga en cuenta que se han descargado o creado tres imágenes. La imagen azure-vote-front
contiene la aplicación y usa la imagen nginx-flask
como base. La imagen redis
se usa para iniciar una instancia de Redis.
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 9cc914e25834 40 seconds ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
Ejecute el comando docker ps para ver los contenedores en ejecución.
docker ps
Salida:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82411933e8f9 azure-vote-front "/usr/bin/supervisord" 57 seconds ago Up 30 seconds 443/tcp, 0.0.0.0:8080->80/tcp azure-vote-front
b68fed4b66b6 redis "docker-entrypoint..." 57 seconds ago Up 30 seconds 0.0.0.0:6379->6379/tcp azure-vote-back
Prueba local de la aplicación
Vaya a https://localhost:8080
para ver la aplicación en ejecución.
Limpieza de recursos
Ahora que la funcionalidad de la aplicación se ha validado, los contenedores en ejecución se pueden detener y eliminar. No elimine las imágenes del contenedor. La imagen azure-vote-front
se carga en una instancia de Azure Container Registry en el siguiente tutorial.
Ejecute el siguiente comando para detener los contenedores en ejecución.
docker-compose stop
Elimine los recursos y contenedores detenidos con el siguiente comando.
docker-compose down
Al finalizar, tendrá una imagen de contenedor que contiene la aplicación Azure Vote.
Pasos siguientes
En este tutorial, se ha probado una aplicación y se han creado imágenes del contenedor para la aplicación. Se han completado los siguientes pasos:
- La clonación de origen de la aplicación desde GitHub
- La creación de una imagen de contenedor desde el origen de la aplicación
- La prueba de la aplicación en un entorno local de Docker
Pase al siguiente tutorial para aprender a almacenar imágenes de contenedor en Azure Container Registry.