Contenedores de Linux

Para el uso de contenedores sugerimos la utilización de Singularity, una plataforma de contenedores diseñada para entornos de alto desempeño. Singularity permite al usuario tener un ambiente distinto al ambiente de sistema instalado en ClusterUY (p.ej. con versiones de bibliotecas diferentes, con otro sabor de Linux, etc.). Si bien Singularity utiliza un formato propio de contenedores, permite importar contenedores de otras plataformas, como por ejemplo Docker.

¿Cómo usar Singularity?

Singularity se encuentra disponible en compilacion. Una vez dentro del contenedor, el usuario mantiene sus credenciales y tiene acceso por defecto a su home, al directorio actual y al directorio /tmp del cluster.

Para descargar el contenedor hello-world desde Singularity Hub:

singularity pull shub://vsoch/hello-world

Aquí se pueden consultar una lista de contenedores disponibles: https://singularity-hub.org/collections

También es posible descargar el contenedor lolcow desde Docker Hub:

singularity pull lolcow.simg docker://godlovedc/lolcow

Para iniciar una terminal dentro del contenedor hello-world:

singularity shell hello-world.simg

Para ejecutar un comando cualquiera dentro del contenedor hello-world:

singularity exec hello-world.simg <comando>

Los contenedores deben utilizarse tal como se descargaron, no es posible agregarles ni quitarles paquetes de software. Para modificar un contenedor o crearlo desde cero por favor ver la documentación oficial de Singularity.