# Versión del formato de Docker Compose # La versión 3.8 es compatible con Docker Engine 19.03.0+ # Actualmente especificar la versión es opcional. version: '3.8' # Sección que define todos los servicios (contenedores) de la aplicación services: # Servicio para la aplicación frontend de Node.js frontend: # Configuración de construcción de la imagen Docker build: # Directorio donde se encuentra el Dockerfile para construir la imagen # En este caso, busca el Dockerfile en la carpeta ./frontend/build context: ./frontend/build # Mapeo de puertos entre el host y el contenedor # Formato: "puerto_host:puerto_contenedor" # El puerto 3000 del host se mapea al puerto 3000 del contenedor ports: - "3000:3000" # Las líneas siguientes (comentadas) definen volúmenes (bind mounts): # montan archivos/carpetas del host dentro del contenedor #volumes: # - ./frontend/data/index.js:/usr/src/app/index.js # Servicio para la aplicación backend (Python/Flask) backend: # Configuración de construcción de la imagen Docker build: # Directorio donde se encuentra el Dockerfile para construir la imagen # En este caso, busca el Dockerfile en la carpeta ./backend/build context: ./backend/build # Mapeo de puertos entre el host y el contenedor # El puerto 8000 del host se mapea al puerto 8000 del contenedor ports: - "8000:8000" # Comando personalizado para ejecutar cuando se inicie el contenedor # python -u: ejecuta Python con salida sin buffer (unbuffered) # app.py: el archivo principal de la aplicación Python command: python -u app.py