🐳 docker-labs GitHub ↗

Docker Labs#

Plataforma modular de sistemas Docker para aprendizaje práctico, prototipado y evolución de productos.

CI Release License: Apache-2.0 Pages

🌐 Sitio del proyecto — catálogo de los 12 labs, arquitectura y toda la documentación navegable como páginas web.


Estado — v1.5.0#

Todos los labs están operativos. Se levantan y bajan con docker compose up / down a voluntad. Los 4 de la plataforma arrancan juntos con el launcher Windows.

LabStackPuerto(s) hostEstadoCI
dashboard-controlNode.js + Docker API9090✅ Operativo · Plataformasmoke
05-postgres-apiPython + PostgreSQL8000, 5432✅ Operativo · Plataformatest + smoke
09-multi-service-appNode.js + MongoDB + Nginx8083, 3003, 27017✅ Operativo · Plataformatest + smoke
06-nginx-proxyNginx8085✅ Operativo · Plataformatest + smoke
01-node-apiNode.js3000✅ Operativo · Lab independientetest
02-php-lampPHP + Apache + MariaDB8081, 8082, 3306✅ Operativo · Lab independientetest
03-python-apiPython Flask5000✅ Operativo · Lab independientetest
04-redis-cacheNode.js + Redis3001, 6379✅ Operativo · Lab independientetest
07-rabbitmq-messagingRabbitMQ + Node.js5672, 15672✅ Operativo · Lab independientetest
08-prometheus-grafanaPrometheus + Grafana9091, 3002✅ Operativo · Lab independientetest
10-go-apiGo8084✅ Operativo · Lab independientetest
11-elasticsearch-searchPython + Elasticsearch8001, 9200✅ Operativo · requiere ≥ 6 GB RAMmanual
12-jenkins-ciJenkins LTS8080, 50000✅ Operativo · arranque > 3 minmanual

Plataforma = los 4 servicios que corren juntos como sistema central. Lab independiente = operativo, se levanta solo con docker compose up. manual = operativo pero excluido del CI automático por requisitos de recursos.


Arquitectura#

flowchart LR
    U([Usuario])

    subgraph P["Plataforma — 4 servicios activos"]
        CC["Control Center<br/>:9090"]
        GW["Gateway<br/>:8085"]
        IC["Inventory Core<br/>:8000"]
        OP["Operations Portal<br/>:8083"]
        PG[("PostgreSQL<br/>:5432")]
        MG[("MongoDB<br/>:27017")]
    end

    subgraph L["9 labs independientes — levantar a voluntad"]
        LA["01 Node :3000<br/>02 LAMP :8081<br/>03 Python :5000"]
        LB["04 Redis :3001<br/>07 RabbitMQ :15672<br/>08 Prometheus :9091"]
        LC["10 Go :8084<br/>11 Elastic :8001<br/>12 Jenkins :8080"]
    end

    U --> CC & GW
    GW --> CC & IC & OP
    IC --> PG
    OP --> IC & MG

Instalación en Windows#

  1. Descarga docker-labs-setup-{version}.exe desde GitHub Releases
  2. Ejecuta el instalador — acepta SmartScreen si aparece (ver nota)
  3. Usa el acceso directo Docker Labs del escritorio o menú de inicio
  4. El launcher levanta los 4 servicios de plataforma y abre el browser automáticamente

Quickstart manual#

# Control Center
./scripts/start-control-center.sh        # Linux / macOS
scripts\start-control-center.cmd         # Windows

# Plataforma completa
docker compose -f 05-postgres-api/docker-compose.yml up -d --build
docker compose -f 09-multi-service-app/docker-compose.yml up -d --build
docker compose -f 06-nginx-proxy/docker-compose.yml up -d --build

# Cualquier lab independiente (ejemplo)
docker compose -f 04-redis-cache/docker-compose.yml up -d --build

Documentación esencial#

DocumentoPara quién
Beginner GuidePrimeros pasos con Docker y el repo
User ManualUso diario del panel y los sistemas
Technical SpecsPuertos, stacks, endpoints y health checks completos
Windows InstallerInstalación, build y distribución del .exe
AWS MigrationLlevar la plataforma a AWS — opciones, costos y paso a paso
ChangelogHistorial de cambios por versión
Project StatusQué está consolidado y qué sigue en evolución
Recruiter GuideRecorrido rápido del valor del repo

Licencia#

Proyecto bajo Apache License 2.0.