Singularity Container


Sofern Software benötigt wird die nicht auf dem Cluster installiert ist und sich nicht im Home-Verzeichnis installieren lässt, weil beispielsweise Root-Rechte benötigt werden, so kann ein Singularity-Container verwendet werden. Hierzu ist es vorerst notwendig einen Container zu bauen. Eine Anleitung findet sich innerhalb der offiziellen Dokumentation. Da das Bauen von Containern ausschließlich mit root-Rechten möglich ist, muss dies außerhalb des Clusters geschehen.

Alternativ ist es möglich den Container mittels eines Remote Builders in der Sylabs Cloud zu bauen. Hierfür wird ein entsprechender Account benötigt.

Nachdem der Container gebaut und auf das Cluster übertragen wurde, kann er mit den folgenden Befehlen gestartet werden.

student@node80:~/containers$ singularity shell my_custom_container.sif 
Singularity>

Der standarmäßig gesetzte Prompt Singularity> kann durch setzen der SINGULARITYENV_PS1 Umgebungsvariable angepasst werden. Das folgende Beispiel ergänzt zu Anfang den Namen des Containers. Die Umgebungsvariable kann auch in ~/.bashrc gesetzt werden.

student@node80:~/containers$ export SINGULARITYENV_PS1='(${SINGULARITY_NAME/.sif/}) \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
student@node80:~/containers$ singularity shell my_custom_container.sif 
(my_custom_container) student@node80:~/containers$