Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 10 Nächste Version anzeigen »

Singularity Container


VERSION • 3.7.0

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.

Download pre-built image


Es gibt jede Menge fertige Images, welche später angepasst werden können.

Beispiel: Ubuntu 20.04 Image herunterladen und einen Container daraus erstellen
student@mine:~/containers$ singularity pull ubuntu.sif library://ubuntu:20.04

Container lokal erkunden



Beispiel: Ubuntu 20.04 Image herunterladen und einen Container daraus erstellen
#Check the operating system of the host, you should see CentOS
head /etc/os-release

#Start the container, and enter the shell
singularity shell ./ubuntu.sif

#Now check the operating system of the container, you would see Ubuntu
head /etc/os-release

#List the root directory of the container, can you tell which are from the host?
which are from the container?
ls -l /

#List the home directory in the Container, you should see a single user which is
you.
ls -l /home

#your user id inside container
whoami
#exit the container
exit







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

Interaktives arbeiten in einem Singularity Container
student@node80:~/containers$ singularity shell my_custom_container.sif 
Singularity>

Im Container wird das Home-Directoy gemountet, sodass man auf alle Dateien darin normal zugreifen kann.

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.

Anpassen des Prompts
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$ 
  • Keine Stichwörter