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 al pedir un trabajo interactivo. 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 singularity-images desde Singularity Hub:

singularity pull --name first-image.simg shub://vsoch/singularity-images

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 --name lolcow.simg docker://godlovedc/lolcow

Para iniciar una terminal dentro del contenedor lolcow:

singularity shell lolcow.simg

Para ejecutar un comando cualquiera dentro del contenedor lolcow:

singularity exec lolcow.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.