Verschiedene Groovy Skripte
ulrich
2018-01-14 c238daba80c135c658cdf3821516bbbc709dbbcd
commit | author | age
7a3733 1 #!/bin/sh
feff0f 2
274ba9 3 # Dieses Skript ruft Docker zum Start eines Containers mit Groovy und startet
U 4 # darin das Groovy-Skript bilder.groovy.
5 #
6 # Nach jedem solchen Durchlauf wird der Container wieder geloescht.
7 #
8 # Besagtes Docker Kommando reicht das augenblickliche Arbeitsverzeichnis
9 # der Maschine, auf der Docker laeuft, als Pfad /scripts an den
10 # Docker Container. Auf diese Weise koennen Bilder im Dateisystem der Maschine,
11 # auf der Docker laeuft, verwendet werden.
7a3733 12 #
9ec1f8 13 # Aufruf mit ./kleiner.sh [groesse] [qualitaet] [eingangsordner] [ausgangsordner]
c238da 14 # Beispiel ./kleiner.sh 1200 0.75 /scripts/in /scripts/out
7a3733 15 #
274ba9 16 # Liegen dieses Skript (kleiner.sh) und das Groovy-Skript bilder.groovy
U 17 # im Pfad /scripts und enthält dieser Pfad die Verzeichnisse in und out
18 # wird mit dem Aufruf von kleiner.sh das Groovy-Skript ausgefuehrt.
19 #
20 # Der Aufruf mit den im Beispiel oben angegebenen Parametern bewirkt, dass alle
21 # Bilddateien in /scripts/in auf eine Laenge von 1.200 Bildpunkten entlang
c238da 22 # der laengsten Kante verkleinert, in der Qualitaet auf 75% des Originals
U 23 # verringert und in /scripts/out abgelegt werden.
24 #
25 #
26 # Erlaeuterung des unten stehenden Docker-Kommandos
27 # -------------------------------------------------
5c858d 28 #
U 29 # Die Option -v im docker run Kommando verbindet einen Ablageort mit einem
30 # Ordnernamen nach dem Schema [Ablageort]:[Ordnername]
31 #
32 # Die Option -w setzt das Arbeitsverzeichnis auf einen Ordner
33 #
34 # Die Kombination aus -v und -w im Kommando unten tut so, als gaebe es im
90365f 35 # Docker-Container einen Ordner /scripts und laesst diesen auf das
U 36 # Arbeitsverezichnis der lokalen Maschine verweisen, auf der Docker laeuft.
37 # Dieses Verzeichnis wird dann das Arbeitsverzeichnis fuer den Docker-Container
c238da 38 #
U 39 # Der Ausdruck "$PWD" ist ein Platzhalter (Print Working Directory) und
40 # bewirkt, dass an dessen Stelle der Pfad des aktuellen
41 # Arbeitsverzeichnisses ausgegeben wird
42 #
43 # --name groovy bedeutet Docker einen Container namens groovy anzulegen
44 # --rm bedeutet Docker den Container nach der Ausführung wieder zu entfernen
45 # groovy:alpine gibt Docker die Ablaufumgebung an, die dem Container zugrunde
46 #             liegen soll
47 # groovy bilder.groovy ist schliesslich das Kommando, das der Container
48 #          ausfuehren soll. Es soll also das Skript bilder.groovy in der
49 #          Ablaufumgebung Groovy ausgefuehrt werden
50 # dahinter werden die Parameter weiter gereicht, die diesem Skript (kleiner.sh)
51 # uebergeben wurden
feff0f 52
9ec1f8 53 docker run --rm -v "$PWD":/scripts -w /scripts --name groovy groovy:alpine groovy bilder.groovy $1 $2 $3 $4