Häufig genutzte Befehle

Diese Seite soll kurz beschreiben wie ein einfacher Workflow mit Singularity aussehen kann und gibt eine kurze Übersicht über oft genutzte Befehle.

<<TableOfContents: Ausführung fehlgeschlagen [list index out of range] (siehe auch die Log-Datei)>>

Bau des Containers (build)

Bau eines einfachen read-only (default) Containers aus einem selbst geschriebenen Definition Files:

$ sudo singularity build CONTAINER.sif DEFINITIONFILE.def

Bau eines beschreibbaren bzw. veränderbaren Containers aus einem selbst geschriebenen Definition Files:

$ sudo singularity build -s CONTAINER.sif/ DEFINITIONFILE.def

Bau eines Containers aus einer Containerquelle wie dem Docker Hub:

$ sudo singularity build CONTAINER.sif docker://ubuntu:latest

Bau aus eines beschreibbaren Containers aus einem read-only Container:

$ sudo singularity build  -s CONTAINER.SIF/ CONTAINER.SIF

Befehl im Container ausführen (exec)

Anzeigen der Linux-Version des Containers:

$ singularity exec CONTAINER.SIF cat /etc/issue

Nachinstallieren eines Pakets in den Container:

$ sudo singularity exec --writable CONTAINER.SIF/ apt-get install -y vim

Erstellen einer Datei:

$ singularity exec --writable CONTAINER.SIF/ touch test

Container starten (run)

Container wird gestartet (%runscript-Section des Definition Files wird ausgeführt):

$ singularity run CONTAINER.SIF

Alternativ lässt sich ein Container so starten:

$ ./CONTAINER.SIF

Argumente können hier übergeben werden:

$ singularity run CONTAINER.SIF arg0 arg1 arg2

Wahlweise können weitere Verzeichnisse eingebunden werden:

$ singularity run --bind /opt, /data:/mnt CONTAINER:SIF

Container im Hintergrund als Service starten (instance)

Zeigt alle laufenden Singularity-Instanzen an:

$ singularity instance list

Starten einer Singularity-Instanz:

$ singularity instance start CONTAINER.SIF INSTANCENAME [arg0 arg1]

Stoppen einer Singularity-Instanz:

$ singularity instance stop INSTANCENAME

Stoppen aller Singularity-Instanzen:

$ singularity instance stop -a

Shell im Container starten (shell)

Starten einer Shell in einem Container:

$ singularity shell CONTAINER.SIF

Starten einer Shell in einer Singularity-Instanz:

$ singularity shell instance://INSTANCENAME

Containerbeschreibung anzeigen (run-help)

Containerbeschreibung eines lokalen Containers anzeigen:

$ singularity run-help CONTAINER.SIF

Definition File(s) eines Containers anzeigen (inspect)

Das Definition File(s) anzeigen, mit dem dieser Container gebaut wurde:

$ singularity inspect -d CONTAINER.SIF

Container können aus Containern gebaut werden. Wenn diese auch aus Definition Files gebaut worden sind, ist eine Historie innerhalb des Containers in folgendem Verzeichnis zu finden:

 /.singularity.d/bootstrap_history

Labels eines Containers anzeigen (inspect)

Die Labels entsprechen den im Definition File angegebenen Metadaten wie etwa Autor oder Version.

$ singularity inspect CONTAINER.SIF