docker-golang-skillslisted
Install: claude install-skill JoseLuis21/claude-plugins
# Docker build con cache + multiplataforma (local / GitHub Actions / Railway / Lambda)
Patrón probado en producción: build en dos etapas, cache mounts de
BuildKit, cross-compilación por arquitectura y un Dockerfile aparte para Railway.
Objetivo: un cambio incremental recompila en segundos en vez de ~155s.
La variante para **AWS Lambda como imagen de contenedor** (probada en una Lambda de cron
en producción) reusa el mismo esqueleto y cambia la etapa
final: ver *AWS Lambda*.
## Piezas
| Archivo | Para qué | Cache mounts |
| ------------------------------ | ---------------------------------------------- | -------------------------------- |
| `Dockerfile` | local, docker-compose, GitHub Actions, VPS | Sí |
| `Dockerfile.railway` | solo Railway | No (o con `id=s/<service-id>-…`) |
| `railway.json` | apunta Railway a `Dockerfile.railway` | — |
| `.github/workflows/docker.yml` | build multi-arch + push a GHCR con cache `gha` | Sí (capas) |
| `.dockerignore` | evita invalidar capas y engordar el contexto | — |
| `Dockerfile.lambda` | AWS Lambda como imagen de contenedor | Sí |
| `.github/workflows/deploy.yml` | build 1 arch + push