wsl-labs GitHub

10 · API Go 🐹#

API REST en Go con net/http, compilada en una imagen multi-stage (golangalpine) y servida por wslc.

📋 Datos del caso#

CategoríaValor
Categoríastarter
Imagenwsl-labs/go-api:latest (multi-stage golangalpine)
Puerto host8103 → contenedor 8080
Red— (contenedor único)
HealthGET /health{"status":"ok"} (HTTP 200)

🚀 Construir y levantar#

wslc build -t wsl-labs/go-api:latest containers/10-go-api
wslc run -d --name wslc-go-api -p 8103:8080 wsl-labs/go-api:latest
La imagen es multi-stage: compila el binario en golang y lo copia a una capa alpine mínima, así que el contenedor final es muy ligero.

✅ Verificar#

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

🧭 Desde el panel#

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

🛑 Bajar#

wslc stop wslc-go-api
wslc rm wslc-go-api

🎯 Equivale a docker-labs#

Porta el caso 10-go-api de docker-labs (API Go con build multi-stage), ahora sobre el motor wslc.

🗺️ Esquema#

flowchart LR
  W[Windows / navegador] --> P[Panel Node.js :9092]
  P --> E[wslc]
  E --> C["wslc-go-api<br/>golang → alpine"]
  C --> H[":8103 → :8080"]

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

Fuente: containers/10-go-api/README.md