¡Hola developer 👋🏻! Este repositorio es una guía progresiva para aprender Docker Sandboxes, desde la instalación básica hasta crear tus propios kits y plantillas personalizadas. Los sandboxes son entornos aislados (microVMs) donde los agentes de IA pueden ejecutar código, instalar paquetes y usar Docker sin tocar tu sistema.
- Guía de Docker Sandboxes: de cero a personalización
- macOS Sonoma (14+) con Apple Silicon, Windows, o Linux (Ubuntu)
- Docker Desktop no es necesario
- GitHub CLI (
gh) para autenticación
# macOS
brew install docker/tap/sbx
# Windows (PowerShell como admin)
winget install Docker.sbx
# Linux (Ubuntu)
curl -fsSL https://get.docker.com/sbx | shsbx loginSe abrirá el navegador para autenticarte con Docker. En el primer login, elige una política de red:
- Open: Todo permitido
- Balanced (recomendado): Sitios de desarrollo comunes permitidos
- Locked Down: Todo bloqueado por defecto
# Necesario para que Copilot pueda crear PRs e interactuar con repos
sbx secret set -g github -t "$(gh auth token)" -fLos Docker Sandboxes permiten ejecutar diferentes agentes de IA en entornos aislados.
sbx run copilotEl primer run tarda un poco (descarga la imagen). Los siguientes son instantáneos.
sbx run opencodesbx run claudeEjecuta sbx sin argumentos para abrir el dashboard interactivo donde puedes ver y gestionar todos tus sandboxes:
sbxsbx ls # Ver sandboxes activos
sbx stop mi-sandbox # Pausar (preserva estado)
sbx rm mi-sandbox # Eliminar completamente
sbx exec -it mi-sandbox bash # Shell dentro del sandboxLos Docker Sandboxes utilizan políticas de red para controlar qué dominios puede alcanzar el agente. Esto añade una capa de seguridad al entorno aislado.
sbx policy ls # Ver reglas activas
sbx policy allow network api.example.com # Permitir dominioLos kits empaquetan configuración reutilizable: herramientas, archivos, variables de entorno, reglas de red y memoria para el agente.
sbx run copilot --name my-kit --kit sandbox-kitEste kit instala:
- 🐰 Bun runtime
- 🧹 Biome (linting/formatting)
- 🤖 Skills de Anthropic (frontend-design)
- 📦 RTK
sandbox-kit/
├── spec.yaml # Definición del kit
└── files/ # Archivos estáticos a copiar
├── home/ # → /home/agent/
│ └── .editorconfig
└── workspace/ # → /workspace/
└── biome.json
Revisa el archivo sandbox-kit/spec.yaml para ver cómo está configurado este kit. Incluye comentarios explicando cada sección.
Para mayor control, crea tu propia imagen base con un Dockerfile. Revisa el Dockerfile de este repositorio como ejemplo.
docker build -t docker-sandbox-copilot:youtube .
docker image save docker-sandbox-copilot:youtube -o copilot-template-youtube.tar
sbx template load copilot-template-youtube.tar
sbx run --name using-dockerfile-youtube --template docker-sandbox-copilot:youtube copilotdocker build -t tu-org/docker-sandbox-copilot:latest --push .
sbx run --template docker.io/tu-org/docker-sandbox-copilot:latest copilotsbx run --template docker-sandbox-copilot:latest copilot --kit sandbox-kitdocker-sandboxes/
├── Dockerfile # Plantilla personalizada
├── README.md
├── sandbox-kit/ # Kit de Bun
│ ├── spec.yaml
│ └── files/
│ ├── home/
│ │ └── .editorconfig
│ └── workspace/
│ └── biome.json
└── src/ # Ejemplo: servidor con Bun
├── server.ts
├── package.json
└── public/
Si te ha gustado este proyecto y quieres ver más contenido como este, no olvides suscribirte a mi canal de YouTube y seguirme en mis redes sociales: