From c238daba80c135c658cdf3821516bbbc709dbbcd Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Sun, 14 Jan 2018 14:47:41 +0000 Subject: [PATCH] weiter kommentiert --- src/kleiner.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/kleiner.sh b/src/kleiner.sh index a783539..04ef420 100644 --- a/src/kleiner.sh +++ b/src/kleiner.sh @@ -1,17 +1,53 @@ #!/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. +# Dieses Skript ruft Docker zum Start eines Containers mit Groovy und startet +# darin das Groovy-Skript bilder.groovy. # -# Aufruf mit ./kleiner.sh [groesse] [eingangsordner] [ausgangsordner] -# Beispiel ./kleiner.sh 1200 /scripts/in /scripts/out +# Nach jedem solchen Durchlauf wird der Container wieder geloescht. # -# Mit obigem Beispiel verkleinert das Groovy-Skript alle Bilddateien in /scripts/in -# auf eine Laenge von 1.200 Bildpunkten entlang der laengsten Kante und -# legt die verkleinerten Bilder in /scripts/out ab +# 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 +docker run --rm -v "$PWD":/scripts -w /scripts --name groovy groovy:alpine groovy bilder.groovy $1 $2 $3 $4 -- Gitblit v1.9.3