Volver a proyectos

Sandbox

PoC Archivado
  • Shell
  • Linux

¿Por qué existe este proyecto?

Hace tiempo me topé con la herramienta distrobox. Me pareció muy interesante, pero yo quería contenedores efímeros por defecto.

Investigando un poco cómo funcionaba la herramienta, vi que al final la idea era construir un gran comando de docker y ejecutarlo. Así que finalmente lo hice.

Sandbox es un CLI en Bash que levanta contenedores efímeros por defecto: cuando cierras la sesión, el contenedor se borra solo. Sin rastro.

Puedes levantar contenedores de Debian, Arch Linux, Fedora, Ubuntu, Alpine…


Sandbox CLI en acción

¿Qué puede hacer?

  • sandbox fedora: levanta un contenedor efímero de Fedora, con el directorio actual montado en /host/sandbox, cuando sales se borra el contenedor
  • sandbox fedora —isolate: levanta un contenedor efímero de Fedora en modo aislado, sin montar nada del host, perfecto para experimentar sin miedo a romper nada
  • sandbox fedora —name mycontainer: levanta un contenedor persistente de Fedora llamado mycontainer
  • sandbox —attach mycontainer: vuelves a conectar con el contenedor mycontainer que levantaste antes
  • sandbox fedora —home: levanta un contenedor efímero de Fedora, con tu home montado en /host/home
  • sandbox fedora —nvidia: levanta un contenedor efímero de Fedora con soporte para NVIDIA
  • sandbox —list: lista los contenedores que tienes levantados y sus puntos de montaje

Algo interesante es que los contenedores pueden incluso levantar aplicaciones gráficas. Aquí muestro un ejemplo de cómo se levanta un contenedor con Debian y se instala Blender:

Creando contenedor con Sandbox

Instalación de Blender dentro del contenedor:

Instalando Blender en contenedor

Blender corriendo dentro del contenedor. En este caso funciona con la GPU integrada de mi portátil. Si lo usas en un equipo con una GPU NVIDIA y no pones el flag --nvidia oirás como se activan los ventiladores por ejecutar Blender con la CPU.


Blender corriendo en contenedor

Si te gusta este proyecto y quieres darme alguna idea para mejorarlo, escríbeme un correo o contacta conmigo en LinkedIn.