#!/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 0.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, in der Qualitaet auf 75% des Originals
|
# verringert und in /scripts/out abgelegt werden.
|
#
|
#
|
# Erlaeuterung des unten stehenden Docker-Kommandos
|
# -------------------------------------------------
|
#
|
# 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
|
#
|
# Der Ausdruck "$PWD" ist ein Platzhalter (Print Working Directory) und
|
# bewirkt, dass an dessen Stelle der Pfad des aktuellen
|
# Arbeitsverzeichnisses ausgegeben wird
|
#
|
# --name groovy bedeutet Docker einen Container namens groovy anzulegen
|
# --rm bedeutet Docker den Container nach der Ausführung wieder zu entfernen
|
# groovy:alpine gibt Docker die Ablaufumgebung an, die dem Container zugrunde
|
# liegen soll
|
# groovy bilder.groovy ist schliesslich das Kommando, das der Container
|
# ausfuehren soll. Es soll also das Skript bilder.groovy in der
|
# Ablaufumgebung Groovy ausgefuehrt werden
|
# dahinter werden die Parameter weiter gereicht, die diesem Skript (kleiner.sh)
|
# uebergeben wurden
|
|
docker run --rm -v "$PWD":/scripts -w /scripts --name groovy groovy:alpine groovy bilder.groovy $1 $2 $3 $4
|