Skip to content

0GiS0/docker-sandboxes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guía de Docker Sandboxes: de cero a personalización

YouTube Channel Subscribers GitHub followers LinkedIn Follow X Follow


¡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

📑 Tabla de Contenidos


🛠️ Instalar sbx

Requisitos previos

  • macOS Sonoma (14+) con Apple Silicon, Windows, o Linux (Ubuntu)
  • Docker Desktop no es necesario
  • GitHub CLI (gh) para autenticación

Instalar sbx CLI

# macOS
brew install docker/tap/sbx

# Windows (PowerShell como admin)
winget install Docker.sbx

# Linux (Ubuntu)
curl -fsSL https://get.docker.com/sbx | sh

Iniciar sesión

sbx login

Se 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

Configurar credenciales de GitHub

# Necesario para que Copilot pueda crear PRs e interactuar con repos
sbx secret set -g github -t "$(gh auth token)" -f

🤖 Ejecutar agentes en Docker Sandboxes

Los Docker Sandboxes permiten ejecutar diferentes agentes de IA en entornos aislados.

GitHub Copilot CLI

sbx run copilot

El primer run tarda un poco (descarga la imagen). Los siguientes son instantáneos.

Opencode

sbx run opencode

Claude

sbx run claude

📊 Dashboard de sbx

Ejecuta sbx sin argumentos para abrir el dashboard interactivo donde puedes ver y gestionar todos tus sandboxes:

sbx

Comandos de gestión

sbx 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 sandbox

🔒 Políticas de red

Los 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.

Ver y gestionar políticas

sbx policy ls                             # Ver reglas activas
sbx policy allow network api.example.com  # Permitir dominio

🧰 Kits de Docker Sandboxes

Los kits empaquetan configuración reutilizable: herramientas, archivos, variables de entorno, reglas de red y memoria para el agente.

Usar el kit incluido (Bun Toolkit)

sbx run copilot --name my-kit --kit sandbox-kit

Este kit instala:

  • 🐰 Bun runtime
  • 🧹 Biome (linting/formatting)
  • 🤖 Skills de Anthropic (frontend-design)
  • 📦 RTK

Estructura de un kit

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.


🏗️ Crear tu propia plantilla

Para mayor control, crea tu propia imagen base con un Dockerfile. Revisa el Dockerfile de este repositorio como ejemplo.

Build y uso local

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 copilot

Uso con registry

docker build -t tu-org/docker-sandbox-copilot:latest --push .
sbx run --template docker.io/tu-org/docker-sandbox-copilot:latest copilot

Combinar plantilla + kit

sbx run --template docker-sandbox-copilot:latest copilot --kit sandbox-kit

📁 Estructura del Proyecto

docker-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/

📚 Recursos


🌐 Sígueme en Mis Redes Sociales

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:

YouTube Channel Subscribers GitHub followers LinkedIn Follow X Follow

About

Guía progresiva para aprender Docker Sandboxes: desde la instalación básica hasta crear tus propios kits y plantillas personalizadas

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors