wsl-labs GitHub

🔀 Mapeo desde docker-labs#

Cómo se traduce cada concepto de docker-labs a su equivalente en wsl-labs. El motor cambia (Docker/Compose → WSLC, el motor de contenedores nativo de WSL), pero el modelo es el mismo: imágenes OCI, contenedores, redes y puertos. Para el contexto completo, consulta el README.md.

🤝 Qué se conserva#

AspectoDescripción
📁 Estructura por casosDirectorio numerado NN-nombre-kebab por caso
🐳 Contenedores realesImágenes OCI por capas desde Dockerfile, no emulación
🏠 Operación localSin dependencias de cloud para el flujo principal
🌐 Foco en localhostLos contenedores publican puertos con -p host:container
🧭 Panel webPanel Node.js que gobierna todo desde :9092
🚀 Launcher Windows (Go)Un .exe que levanta la plataforma y abre el browser
📇 Catálogo fuente de verdadUn solo archivo define imágenes, puertos, redes y health

🔄 Tabla de equivalencias conceptuales#

Concepto en docker-labs🐳 Equivalente en wsl-labsNota
docker buildwslc buildMisma construcción por capas desde Dockerfile
docker run -d -p …wslc run -d -p …Levanta un contenedor en segundo plano
docker rm -fwslc stopDetiene y elimina el contenedor
docker compose upred wslc + varios wslc run conectadosMulti-contenedor sin compose
docker-compose.ymlEntrada en containers.config.jsonLa fuente única de verdad del caso
Servicio de composeContenedor del casoname, image, ports, env
ImagenImagen (wslc build o wslc pull)Idéntico — OCI por capas
Red de composeRed wslc (wslc network create)La app apunta al backend por nombre
Puerto publicado (-p 8080:80)-p host:container en wslc runMismo mapeo de puertos
VolumenVolumen wslc / filesystemModelo de contenedores estándar
Healthcheck de composehealthProtocol: httpEl panel hace el check (HTTP GET)
docker compose logswslc logsPOST /api/wslc/logs { id }
docker compose downwslc stop (por caso)POST /api/wslc/down { id }
Docker daemonMotor WSLC nativoC:\Program Files\WSL\wslc.exe
Docker DesktopWSL 2.9+ + WSL Container CenterEl motor viene con WSL preview
dashboard-control (9090)WSL Container Center (:9092)Mismo rol, motor WSLC

🔁 Qué cambia en el motor#

Aspectodocker-labswsl-labs
MotorDocker Engine / Docker DesktopWSLC nativo de WSL 2.9+ (preview)
Comando builddocker buildwslc build
Comando rundocker runwslc run
Multi-contenedordocker composered wslc + varios wslc run
EmpaquetadoImágenes OCIImágenes OCI (idéntico)
InstalaciónDocker Desktop aparteIncluido en wsl --update --pre-release
Catálogodocker-compose.yml por labcontainers.config.json central

🎯 Traducción caso a caso (docker-labs → wsl-labs)#

Cada caso de docker-labs tiene su equivalente portado y verificado en wsl-labs:

Caso docker-labsCaso wsl-labsImagen(es)Puerto
API Node01-node-apinode:20-alpine (custom)8101
API Python03-python-apipython:3.12-alpine (custom)8102
API Go10-go-apiGo multi-stage (custom)8103
Web Nginx06-nginx-webnginx:alpine (custom)8104
Cache Redis04-redis-cacheredis:7-alpine + app8105
API + PostgreSQL05-postgres-apipostgres:15 + app8106
LAMP02-php-lampmariadb:10.6 + PHP/Apache8107
RabbitMQ07-rabbitmqrabbitmq:3-management8109
Prometheus + Grafana08-prometheus-grafanaprom/prometheus + grafana/grafana8110/8111
Multi-servicio (Mongo)09-multi-servicemongo:7 + backend8112
Elasticsearch11-elasticsearchelasticsearch:8.11.08113
Jenkins12-jenkinsjenkins/jenkins:lts8114

✅ Resultado esperado#

La experiencia final es "contenedores reales", pero con el motor nativo de WSL en lugar de Docker:

A diferencia de Docker, no necesitas instalar Docker Desktop: wslc viene integrado en WSL 2.9+ (preview). El modelo de contenedores es el mismo; cambia el binario y que el motor ya está en WSL.

📖 Ver también: README.md · wslc-contenedores.md · LABS_CATALOG.md

Fuente: docs/mapping-from-docker-labs.md