Mit Hilfe von Docker lässt sich einfach eine persönliche Toolbox erstellen, die es erlaubt typische Linux Tools auch unter Windows zu verwenden.
In meinem Artikel zeige ich, wie das Dockerfile
auszusehen hat und wie der Aufruf über Batch Skripte einfach von der Hand geht.
Dockerfile
Das Docker Image basiert dabei auf der sehr beliebten Linux Toolsammlung BusyBox, die es auch als Docker Image gibt.
Auf dem BusyBox Docker Image baut das Alpine Image auf, welches unter anderem den Package Manager apk
ergänzt.
Das Alpine Image wiederum stellt die Grundlage meines Images dar.
Über apk
können weitere Abhängigkeiten installiert werden, in meinem Beispiel curl
und jq
.
Dockerfile
FROM alpine:3.12
RUN apk add --no-cache curl jq
Build Skript
Um das Bauen unter Windows etwas zu erleichtern (und weil ich mir nicht alle Docker Parameter merken möchte), kann ein Batch Skript verwendet werden. Folgendes Skript baut das Dockerfile und gibt noch Hinweise zur Verwendung aus.
build.bat
docker build -t my-toolbox:latest .
echo "Copy my-toolbox.bat to PATH, then run toolbox by entering my-toolbox"
Run Skript
Zum Ausführen der Toolbox verwende ich wiederum ein Batch Skript. Dieses Skript lässt sich z.B. zur PATH Variable hinzufügen oder in ein entsprechendes Verzeichnis kopieren.
my-toolbox.bat
docker run --rm -it -v %cd%:/workdir -w /workdir --network host my-toolbox:latest
Das Skript:
- führt das gebaute Docker Image in einer interaktiven Shell aus,
- mountet das aktuelle Verzeichnis als
/workdir
in den Container, - setzt das Arbeitsverzeichnis des Containers auf
/workdir
, - konfiguriert
host
Networking und - entfernt den Container wieder nach verlassen.
Ausführen der Toolbox
Ausführen lässt sich die Toolbox dann in der Windows Kommandozeile über das Kommando my-toolbox
.