wsl-labs GitHub

01 · API Node.js 🟢#

API REST mínima en Node.js con el módulo http nativo, empaquetada en la imagen node:20-alpine y servida por wslc.

📋 Datos del caso#

CategoríaValor
Categoríastarter
Imagenwsl-labs/node-api:latest (base node:20-alpine)
Puerto host8101 → contenedor 3000
Red— (contenedor único)
HealthGET /health{"status":"ok"} (HTTP 200)

🚀 Construir y levantar#

wslc build -t wsl-labs/node-api:latest containers/01-node-api
wslc run -d --name wslc-node-api -p 8101:3000 wsl-labs/node-api:latest

✅ Verificar#

curl http://localhost:8101
curl http://localhost:8101/health
La raíz responde {"project":"wsl-labs","case":"01-node-api","engine":"wslc","runtime":"container"} con HTTP 200.

🧭 Desde el panel#

En http://localhost:9092 busca la tarjeta 01 · API Node.js y usa los botones Construir, Levantar, Bajar y Logs.

🛑 Bajar#

wslc stop wslc-node-api
wslc rm wslc-node-api

🎯 Equivale a docker-labs#

Porta el caso 01-node-api de docker-labs (API Node.js mínima), ahora sobre el motor wslc en lugar de Docker.

🗺️ Esquema#

flowchart LR
  W[Windows / navegador] --> P[Panel Node.js :9092]
  P --> E[wslc]
  E --> C["wslc-node-api<br/>node:20-alpine"]
  C --> H[":8101 → :3000"]

Parte de wsl-labs · catálogo containers.config.json

Fuente: containers/01-node-api/README.md