Aufgaben in Container auslagern mit boxrun - Teil 1

Docker eignet sich nicht nur für den Betrieb einzelner Server Anwendungen in einem Container. Sondern bietet auch die Möglichkeit interaktiv in einem Container zu arbeiten. In diesem Artikel wird vorgestellt, wie die Arbeit damit erleichtert werden kann.

Sehr häufig ähneln sich die Parameter für den Start eines Docker Containers stark. Im folgenden Beispiel ist so ein Befehl mit den entsprechenden Parametern dargstellt. Beim Aufruf wird ein Container mit Debian und darin die Shell Bash gestartet. Zusätzlich wird das aktuelle Verzeichnis unter /ext im Container eingehangen. Wird die Shell beendet, wird der Container wieder gelöscht.

$ docker run --rm -v $(pwd):/ext -it debian /bin/bash

Mit Hilfe eines Aliases kann der anschließende Befehl verkürzt werden. Im folgenden Beispiel ist die Definition eines Aliases dargestellt.

$ alias boxrun='docker run --rm -v $(pwd):/ext -it'

Der anschließend benötigte Befehl sieht dann wie folgt aus.

$ boxrun debian /bin/bash

Damit der Befehl auch bei einem neu geöffneten Terminal direkt zur Verfügung steht, kann der Alias Befehl bei Bash in die Datei .bashrc oder bei zsh in die Datei .zshrc eingetragen werden. Je nachdem welche Shell verwendet wird, sollte mindestens eine der genannten Dateien im Home-Verzeichnis zu finden sein.

Fazit

Das dargestellte Vorgehen vereinfacht zwar die Nutzung, jedoch entstehen dadurch auch ein paar Nachteile. Zum Beispiel ist der Benutzer im Container root, dadurch werden auch alle im Container erzeugten Dateien mit den Berechtigungen für den root Benutzer angelegt. Leider lassen sich die Berechtigungen extern anschließend auch nur schwer ändern.

Links

  • Webseite: Docker (englisch)
  • Webseite: Bash (englisch)
  • Webseite: zsh (englisch)

Verwandte Artikel