Trece entornos Docker que se encienden y se apagan cuando tú quieres
docker-labs no es una carpeta de demos sueltas. Es un workspace con un panel de control propio: levantas el laboratorio que necesitas, lo usas, y lo bajas para recuperar la RAM. Cuatro de esos entornos funcionan juntos como una plataforma real —gateway, core transaccional y portal operativo— y los otros nueve se levantan solos, cada uno con su stack.
El problema que resuelve
Un repositorio de laboratorios Docker suele terminar igual: veinte carpetas, veinte docker compose up,
puertos que chocan entre sí y un equipo que se queda sin memoria porque todo quedó encendido. Aquí eso se ataca
de frente.
🎛️ Un panel, no una lista de comandos
El Control Center corre dockerizado en localhost:9090 y habla con el daemon de Docker.
Desde ahí levantas, reinicias, detienes y lees los logs de cualquier lab sin memorizar rutas ni puertos.
- Estado real de cada stack: detenido, corriendo o saludable.
- Los enlaces de entrada de cada sistema, ya resueltos.
- Diagnóstico de la capacidad asignada a Docker.
💾 Tu RAM decide qué se enciende
Cada laboratorio declara la memoria que necesita. El panel la compara con la que Docker tiene libre en ese momento y te dice si conviene arrancarlo ahora o bajar otra cosa primero.
- Verde: hay memoria de sobra para arrancarlo.
- Amarillo: entra justo, conviene liberar antes.
- Rojo: Docker no tiene suficiente memoria total.
Cómo encaja todo
Los cuatro servicios de plataforma se levantan juntos y se hablan entre ellos. Los nueve laboratorios independientes no dependen de nadie: son entornos de estudio de un stack concreto.
flowchart LR
U([Usuario])
subgraph P["Plataforma — 4 servicios activos"]
CC["Control Center
:9090"]
GW["Gateway
:8085"]
IC["Inventory Core
:8000"]
OP["Operations Portal
:8083"]
PG[("PostgreSQL
:5432")]
MG[("MongoDB
:27017")]
end
subgraph L["9 labs independientes — levantar a voluntad"]
LA["01 Node :3000
02 LAMP :8081
03 Python :5000"]
LB["04 Redis :3001
07 RabbitMQ :15672
08 Prometheus :9091"]
LC["10 Go :8084
11 Elastic :8001
12 Jenkins :8080"]
end
U --> CC & GW
GW --> CC & IC & OP
IC --> PG
OP --> IC & MG
El detalle de puertos, endpoints y health checks está en Especificaciones técnicas, y el razonamiento de diseño en Arquitectura.
Arranca en tres pasos
Con Docker Desktop instalado y corriendo. En Windows el instalador hace los tres de una vez.
Clona el repositorio
No hay dependencias que instalar: todo corre dentro de contenedores.
git clone https://github.com/vladimiracunadev-create/docker-labs.git
Levanta el panel de control
Es la puerta de entrada. Desde ahí se gobierna el resto sin tocar la terminal.
scripts\start-control-center.cmd › Windows
./scripts/start-control-center.sh › Linux y macOS
Abre localhost:9090 y elige qué encender
Cada tarjeta trae su estado, su consumo estimado y sus enlaces de entrada.
docker compose -f 04-redis-cache/docker-compose.yml up -d --build
¿Primera vez con Docker? La guía para principiantes parte desde cero. Si algo no levanta, solución de problemas cubre los fallos habituales.
Los 12 laboratorios
Cada uno se levanta y se baja por su cuenta con docker compose. La memoria indicada es la
recomendada para que el stack arranque cómodo.
Node.js API
Microservicio REST basico para rutas HTTP y desarrollo backend con Node.js.
PHP LAMP
Entorno clasico para aplicaciones administrativas con PHP, Apache y MariaDB.
Python API
Servicio Flask sencillo para aprender APIs Dockerizadas con Python.
Redis Cache API
API con Redis para demostrar cache, tiempo de respuesta y capas de performance.
Inventory Core
Backend transaccional para clientes, productos y pedidos con PostgreSQL.
Platform Gateway
Gateway de entrada que unifica el acceso al panel, al core transaccional y al portal operativo.
RabbitMQ Messaging
Mensajeria asincrona con producer y consumer para jobs desacoplados.
Prometheus + Grafana
Centro de observabilidad para metricas y dashboards operativos.
Operations Portal
Portal operativo que consolida datos del Inventory Core y agrega watchlist persistida.
Go API
Servicio HTTP ligero para endpoints de alto rendimiento y utilidades rapidas.
Elasticsearch Search
Servicio de indexacion y busqueda full text para catalogos y conocimiento.
Jenkins CI
Automatizacion de pipelines para builds, testing y despliegues repetibles.
Documentación
Todo el material del repositorio, publicado como páginas web: nada de esta portada te manda a un archivo
.md crudo.
🎓 Beginner Guide
Empieza asi:
📘 Manual de Usuario — Docker Labs
1. Abre el panel en http://localhost:9090
⚙️ Especificaciones Técnicas — Docker Labs
Labs excluidos de la matriz de CI (validos en local):
Instalador Windows — Docker Labs
Docker Labs incluye un instalador nativo para Windows (docker-labs-setup-{version}.exe)
☸️ Kubernetes Deployment
Guía de despliegue de docker-labs hacia Kubernetes.
Migración a AWS — Docker Labs
1. Punto de partida
Índice completo: documentación técnica · guías del repositorio · fichas de los laboratorios
Para quien evalúa el repositorio
Qué mirar y en qué orden
Las decisiones de arquitectura, la evidencia que entrega cada capa y el recorrido corto para entender el proyecto sin abrir los doce labs.
Qué está consolidado y qué no
Lo que ya funciona, lo que sigue en evolución y lo que se descartó a propósito. Sin promesas que el repositorio no cumple.