welcome: please sign in
location: Änderungen von "SingularityWorflow"
Unterschiede zwischen den Revisionen 1 und 2
Revision 1 vom 2019-06-14 14:18:48
Größe: 3401
Kommentar: Workflow
Revision 2 vom 2019-06-17 07:48:16
Größe: 3482
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
#acl hayd@cbs.mpg.de:read,write,delete,revert,admin Known:read,write All:read

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.

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
  • -s steht hier für Sandbox
  • alternativ kann auch --sandbox verwendet werden

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
  • Der Container wird verändert und muss mit Schreibberechtigung (--writable) gestartet werden.
  • Root-Rechte sind zum Installieren von Paketen notwendig.

Erstellen einer Datei:

$ singularity exec --writable CONTAINER.SIF/ touch test
  • Der Container wird verändert, da eine neue Datei an "/" erstellt wird und somit muss er mit Schreibrechten gestartet werden.
  • Es sind keine Root-Rechte notwendig.

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
  • Das Verzeichnis /opt des Hosts ist unter /opt im Container erreichbar.
  • Das Verzeichnis /data des Hosts ist unter /mnt im Container erreichbar.

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

SingularityWorflow (zuletzt geändert am 2019-06-18 09:52:10 durch thunert@cbs.mpg.de)