Archivo docker-compose.yml

El archivo docker-compose.yml orquesta todos los servicios del sistema, incluyendo los microservicios, el API Gateway y la base de datos MySQL. Define la red, puertos, volúmenes, dependencias y variables de entorno necesarias para que cada contenedor funcione correctamente.

📄 Estructura general del archivo

version: '3.8'

services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: soporte
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

  tecnico-ticket:
    build: ./tecnico-ticket
    container_name: tecnico-ticket
    depends_on:
      - mysql
    ports:
      - "8083:8083"

  cursos:
    build: ./cursos
    container_name: cursos
    depends_on:
      - mysql
    ports:
      - "8082:8082"

  pago-cupon:
    build: ./pago-cupon
    container_name: pago-cupon
    depends_on:
      - mysql
    ports:
      - "8081:8081"

  gateway:
    build: ./gateway
    container_name: gateway
    depends_on:
      - tecnico-ticket
      - cursos
      - pago-cupon
    ports:
      - "8080:8080"

volumes:
  mysql_data:
  

🔍 Explicación por secciones

  • services: define cada contenedor que será levantado.

  • mysql: base de datos compartida o replicada, con persistencia en volumen.

  • tecnico-ticket, cursos, pago-cupon: microservicios, cada uno se construye desde su propio Dockerfile.

  • gateway: el API Gateway que centraliza el acceso a los servicios.

  • depends_on: asegura que un servicio espere a que otro esté disponible antes de iniciar.

  • volumes: persistencia de datos para MySQL.

Last updated