Despliegue múltiple de microservicios con Docker Compose

Clase 18 de 24Curso de Introducción a los Microservicios

Resumen

Aprende cómo desplegar múltiples microservicios fácilmente con Docker Compose. A través de un único archivo llamado docker-compose.yaml, podrás configurar y ejecutar simultáneamente todos tus servicios, simplificando significativamente el proceso.

¿Qué es Docker Compose y para qué sirve?

Docker Compose es una herramienta que permite desplegar de manera rápida y organizada múltiples contenedores Docker usando un único archivo. Este archivo describe claramente la configuración de todos los servicios que formarán tu aplicación, optimizando así tu flujo de trabajo en entornos de desarrollo y pruebas.

¿Cómo crear un archivo Docker Compose?

Para empezar, crea el archivo docker-compose.yaml en la carpeta raíz de tus microservicios. Este archivo es crucial, ya que en él definirás claramente los siguientes aspectos:

  • Nombre del servicio.
  • Ubicación del Dockerfile asignado.
  • Nombre de la imagen Docker.
  • Puertos utilizados para comunicación.

Recuerda que Visual Studio reconoce automáticamente el archivo gracias al ícono de Docker (una pequeña ballena), facilitando su identificación.

¿Qué considerar al configurar puertos en Docker Compose?

El archivo Docker Compose debe configurar puertos exclusivos para cada servicio. Por ejemplo:

  • Servicio "Agregar miembro": Puerto 8080.
  • Servicio "Obtener adultos": Puerto 5000 (ya que 8080 está previamente asignado).

Esta configuración permitirá evitar conflictos, asegurando que cada servicio se comunique correctamente.

¿Cómo ejecutar servicios usando Docker Compose?

Una vez definido tu archivo YAML, abre tu terminal y dirígete al directorio correcto. Ejecuta el siguiente comando:

docker compose up

Docker Compose se encargará de crear las imágenes y ejecutar los servicios definidos en el archivo.

¿Cómo confirmar que tus servicios funcionan correctamente?

Luego de desplegar tus servicios, valida su funcionamiento accediendo a cada uno mediante solicitudes HTTP o mediante pruebas en tu cliente API.

  • Verifica puertos y rutas correctas.
  • Envía solicitudes y revisa respuestas en tiempo real.
  • Observa respuestas claramente identificadas en la terminal, con cada servicio mostrando mensajes en diferentes colores.

¿Con qué servicios podrás experimentar?

En este ejercicio específico, los siguientes cinco servicios fueron desplegados exitosamente:

  • Escoger edad.
  • Agregar miembro.
  • Obtener adultos.
  • Agregar niño.
  • Agregar adulto.

Cada uno responde según lo esperado después del despliegue y durante las pruebas posteriores.

Por último, practica configurando y validando los servicios adicionales según lo revisado. Este será un paso importante antes de organizar tus proyectos en los repositorios de GitHub en próximas etapas.