Title: Uso de Docker Compose para levantar múltiples servicios
Course: 2025 - LISI - Virtualizacion 2-2 > Section: Desarrollo y Orquestación con Docker

🛠 Actividad Práctica: Uso de Docker Compose para Levantar Múltiples Servicios

🎯 Objetivo

Levantar una arquitectura de tres servicios usando Docker Compose:

- MySQL como base de datos
- API en Node.js que se conecta a MySQL
- Frontend en Node.js que consume la API

📁 Estructura de Archivos

docker-compose-multi-service/
├── docker-compose.yml
├── README.md
├── mysql/
├── api/
│   ├── Dockerfile
│   ├── package.json
│   └── app.js
└── frontend/
    ├── Dockerfile
    ├── package.json
    └── app.js


📄 Contenido de los Archivos

docker-compose.yml

version: '3.8'

services:

  mysql:

    image: mysql:8.0

    container_name: mysql

    environment:

      MYSQL_ROOT_PASSWORD: rootpassword

      MYSQL_DATABASE: testdb

      MYSQL_USER: user

      MYSQL_PASSWORD: userpassword

    ports:

      - "3306:3306"

    volumes:

      - mysql-data:/var/lib/mysql

  api:

    build: ./api

    container_name: api

    ports:

      - "3000:3000"

    environment:

      DB_HOST: mysql

      DB_USER: user

      DB_PASSWORD: userpassword

      DB_NAME: testdb

    depends_on:

      - mysql

  frontend:

    build: ./frontend

    container_name: frontend

    ports:

      - "8080:8080"

    depends_on:

      - api

volumes:

  mysql-data:

📄 README.md

# Actividad Práctica: Uso de Docker Compose para levantar múltiples servicios

## Objetivo

Levantar una arquitectura de tres servicios usando Docker Compose:

- MySQL como base de datos

- API en Node.js que se conecta a MySQL

- Frontend en Node.js que consume la API

## Estructura

- `mysql/`: Servicio de base de datos MySQL

- `api/`: Servicio backend con Node.js

- `frontend/`: Servicio frontend con Node.js

- `docker-compose.yml`: Orquestación de los servicios

## Pasos

1. Instala Docker y Docker Compose.

2. Construye y ejecuta los servicios:

   ```bash

   docker-compose up --build

   ```

1. Accede a los servicios:
  - API: http://localhost:3000
  - Frontend: http://localhost:8080
2. Verifica que el frontend muestre datos obtenidos desde la API, y que la API se conecte correctamente a la base de datos.
3. Graba un video explicativo mostrando:
  - El código fuente de cada servicio
  - El contenido del docker-compose.yml
  - El proceso de construcción y ejecución
  - La interacción entre los servicios
4. Sube el video a YouTube con un título como:

Uso de Docker Compose para Múltiples Servicios - [Tu Nombre]


Recursos

- Documentación oficial de Docker Compose
- OBS Studio para grabar pantalla