Compartir a través de


(EN DESUSO) Crear imágenes de contenedor para usar con el Servicio de Contenedor de Azure

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 se agregan nuevas características ni funcionalidades 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, se introdujo 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, consulte Migración a Azure Kubernetes Service.

Para más información, consulte el anuncio de desuso de Azure Container Service en Azure.com.

En este tutorial, la parte uno de los siete, se prepara una aplicación de varios contenedores para su uso en Kubernetes. Entre los pasos completados se incluyen:

  • Clonación del origen de la aplicación desde GitHub
  • Creación de una imagen de contenedor a partir del origen de la aplicación
  • Prueba de la aplicación en un entorno de Docker local

Una vez completada, se puede acceder a la siguiente aplicación en el entorno de desarrollo local.

Imagen del clúster de Kubernetes en Azure

En tutoriales posteriores, la imagen de contenedor se carga en una instancia de Azure Container Registry y, a continuación, se ejecuta en un clúster de Kubernetes hospedado en Azure.

Antes de empezar

En este tutorial se presupone un conocimiento básico de los conceptos básicos de Docker, como contenedores, imágenes de contenedor y comandos básicos de Docker. Si es necesario, consulte Introducción a Docker para obtener una introducción a los conceptos básicos del contenedor.

Para completar este tutorial, necesita un entorno de desarrollo de Docker. Docker proporciona paquetes que configuran fácilmente Docker en cualquier sistema Mac, Windows o Linux .

Azure Cloud Shell no incluye los componentes de Docker necesarios para completar todos los pasos 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 de votación básica. La aplicación consta de un componente web front-end y una instancia de Redis back-end. 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 el entorno de desarrollo.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Cambie los directorios para que trabaje desde el directorio clonado.

cd azure-voting-app-redis

Dentro del directorio se encuentra el código fuente de la aplicación, un archivo docker compose creado previamente y un archivo de manifiesto de Kubernetes. Estos archivos se usan en todo el conjunto de tutoriales.

Creación de imágenes de contenedor

Docker Compose se puede usar para automatizar la compilación de imágenes de contenedor y la implementación de aplicaciones de varios contenedores.

Ejecute el docker-compose.yml archivo 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

Observe que se han descargado o creado tres imágenes. La azure-vote-front imagen contiene la aplicación y usa la nginx-flask imagen como base. La redis imagen 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.

Imagen del clúster de Kubernetes en Azure

Limpieza de recursos

Ahora que se ha validado la funcionalidad de la aplicación, los contenedores en ejecución se pueden detener y quitar. No elimine las imágenes de los contenedores. La azure-vote-front imagen se carga en una instancia de Azure Container Registry en el siguiente tutorial.

Ejecute lo siguiente para detener los contenedores en ejecución.

docker-compose stop

Elimine los contenedores y recursos detenidos con el comando siguiente.

docker-compose down

Al completar el proceso, tiene una imagen de contenedor que incluye la aplicación Azure Vote.

Pasos siguientes

En este tutorial, se probó una aplicación y se crearon imágenes de contenedor para la aplicación. Se han completado los siguientes pasos:

  • Clonación del origen de la aplicación desde GitHub
  • Creación de una imagen de contenedor a partir del origen de la aplicación
  • Prueba de la aplicación en un entorno de Docker local

Pase al siguiente tutorial para obtener información sobre cómo almacenar imágenes de contenedor en una instancia de Azure Container Registry.