Compartir a través de


(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.

Image of Kubernetes cluster on Azure

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.

Image of Kubernetes cluster on Azure

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.