#!/bin/sh # Dieses Skript ruft Docker zum Start eines Containers mit Groovy und startet # darin das Groovy-Skript bilder.groovy. # # Nach jedem solchen Durchlauf wird der Container wieder geloescht. # # Besagtes Docker Kommando reicht das augenblickliche Arbeitsverzeichnis # der Maschine, auf der Docker laeuft, als Pfad /scripts an den # Docker Container. Auf diese Weise koennen Bilder im Dateisystem der Maschine, # auf der Docker laeuft, verwendet werden. # # Aufruf mit ./kleiner.sh [groesse] [qualitaet] [eingangsordner] [ausgangsordner] # Beispiel ./kleiner.sh 1200 75 /scripts/in /scripts/out # # Liegen dieses Skript (kleiner.sh) und das Groovy-Skript bilder.groovy # im Pfad /scripts und enthält dieser Pfad die Verzeichnisse in und out # wird mit dem Aufruf von kleiner.sh das Groovy-Skript ausgefuehrt. # # Der Aufruf mit den im Beispiel oben angegebenen Parametern bewirkt, dass alle # Bilddateien in /scripts/in auf eine Laenge von 1.200 Bildpunkten entlang # der laengsten Kante verkleinert und in /scripts/out abgelegt werden. # # Die Option -v im docker run Kommando verbindet einen Ablageort mit einem # Ordnernamen nach dem Schema [Ablageort]:[Ordnername] # # Die Option -w setzt das Arbeitsverzeichnis auf einen Ordner # # Die Kombination aus -v und -w im Kommando unten tut so, als gaebe es im # Docker-Container einen Ordner /scripts und laesst diesen auf das # Arbeitsverezichnis der lokalen Maschine verweisen, auf der Docker laeuft. # Dieses Verzeichnis wird dann das Arbeitsverzeichnis fuer den Docker-Container docker run --rm -v "$PWD":/scripts -w /scripts --name groovy groovy:alpine groovy bilder.groovy $1 $2 $3 $4