Compartir comentarios
Las respuestas se generan en base a la documentación.

Personalización de sandboxes

Disponibilidad: Acceso anticipado

Docker Sandboxes ofrece dos formas de personalizar un sandbox más allá de los valores predeterminados integrados:

  • Plantillas — imágenes de sandbox reutilizables con herramientas, paquetes y configuración integrados. Amplía una imagen base con un Dockerfile, o guarda un sandbox en ejecución como plantilla.
  • Kits — artefactos YAML declarativos que amplían un agente con herramientas, credenciales, reglas de red y archivos en tiempo de ejecución, o definen un nuevo agente desde cero.

Los kits son experimentales. El formato de archivo de los kits, los comandos de la CLI y la experiencia para crear, cargar y gestionar kits están sujetos a cambios a medida que la característica evoluciona. Comparte comentarios y reportes de errores en el repositorio docker/sbx-releases.

Plantillas y kits frente a frente

Una plantilla es una imagen de Docker que ejecuta el sandbox. Se compila con antelación con un Dockerfile (o se guarda desde un sandbox en ejecución), se sube a un registro y se descarga cuando se crea un sandbox. Usa plantillas para elementos que pertenezcan a una imagen: paquetes del sistema, cadenas de herramientas de lenguaje, dependencias grandes... cualquier cosa que prefieras no tener que reinstalar cada vez que se inicie un sandbox.

Un kit es un artefacto YAML que se aplica al crear el sandbox. El kit puede ejecutar comandos de instalación, colocar archivos en el sandbox, declarar reglas de red y de credenciales y (en el caso de los kits de agentes) definir la imagen de plantilla en la que se ejecuta el agente. Usa kits para elementos que varíen según el agente o el equipo: configuración de linter compartida, pasos de instalación específicos del proyecto o inyección de credenciales para un servicio con el que se comunique el agente.

Las plantillas y los kits funcionan de la mano. El campo agent.image de un kit de agente apunta a una plantilla: la plantilla proporciona el entorno base y el kit añade la configuración, los secretos y el comportamiento en tiempo de ejecución encima. Un equipo puede publicar una sola plantilla pesada y varios kits ligeros sin tener que reconstruir la imagen cada vez que cambie algo.

Cuándo usar cada opción

ObjetivoOpción
Preinstalar herramientas y paquetes en una imagen base reutilizablePlantilla
Capturar un sandbox en ejecución configurado para su reutilizaciónPlantilla guardada
Añadir una herramienta, credencial o configuración a las ejecuciones del agente mediante YAMLKit (mixin)
Definir un nuevo agente desde ceroKit (agente)

Las plantillas y los kits se pueden usar juntos. Una plantilla integra herramientas pesadas en la imagen para un inicio rápido del sandbox; un kit superpuesto añade credenciales por ejecución, configuración o capacidades adicionales.

Tutoriales