Docker-Kommandos
|
Kommando |
Wirkung |
|---|---|
|
|
Container starten |
|
|
Container stoppen |
|
|
im Container laufende Prozesse anzeigen |
|
|
Ressourcenverbrauch ermitteln |
|
|
Logfiles des Containers öffnen |
|
|
Container löschen |
|
|
Container löschen, selbst wenn er gerade läuft |
|
|
Image-Datei löschen |
|
|
Verlauf des Containers anzeigen |
|
|
Bash im Container starten |
Wollen Sie tiefer in die Materie eintauchen, seien an dieser Stelle ein paar Stichpunkte für die Recherche genannt: Der Befehl docker networking erlaubt das Zusammenschalten von mehreren Containern innerhalb eines Netzwerks, was diesen ermöglicht, Daten auszutauschen. Da sich Docker auf Iptables und Bridge-Interfaces verlässt, setzt dieses Thema fortgeschrittene Kenntnisse im Umgang mit diesen Komponenten voraus.
Im Bereich Daten ermöglicht docker volumes das Einhängen von Ordnern des Hosts in die Container, womit diese selbst keine Daten vorzuhalten und zu speichern brauchen. Löschen Sie einen Container, so überdauern die Daten die Aktion und stehen für andere Umgebungen bereit.
Die Anweisung HEALTHCHECK im Dockerfile gibt dem Daemon Hinweise darauf, wie er einen Container auf seinen Zustand hin überprüft und gegebenenfalls durchstartet. Das Kommando sudo docker inspect Name zeigt dagegen alle Details der Konfiguration des Containers Name. Viele weitere nützliche Informationen finden Sie in der Dokumentation [6].
Im Einsatz
Am häufigsten kommt Docker zweifelsohne in Rechenzentren zum Einsatz. Dort starten Admins bei Bedarf Anwendungen in Containern, die sie wieder verwerfen, sobald diese ihre Aufgaben erfüllt haben. Mächtige Werkzeuge wie Kubernetes [7] helfen beim Verwalten großer Container-Farmen und bieten zahlreiche Funktionen, um Docker-Hosts zu flexiblen Cloud-Umgebungen zu vernetzen.
Prinzipiell ist es möglich, alles, was auf normalen Linux-Systemen läuft, in Docker-Containern zu betreiben. Docker vereinfacht es aber, den Verbrauch an Ressourcen zu kontrollieren und Container – samt Applikation – auf andere Rechner zu verschieben. Viele Hoster nutzen Docker, um Kunden fertig eingerichtete Anwendungen bereitzustellen, wie etwa ein CMS, Blog oder Forum. Der Kunde benötigt keine Kenntnisse zum Einrichten oder Warten der im Container laufenden Software.
Abseits der großen Server-Farmen existieren jedoch genug Bereiche, in denen sich ein Einsatz ebenfalls lohnt. Oft nutzen Entwickler die Technik, um sich eine Entwicklungsumgebung aufzubauen. Einmal konfiguriert, schieben Sie ein Image leicht in eine Registry und verwenden dieses anschließend auf einem anderen Server weiter. Selbst zum Bauen von Software-Paketen und zum Teilen von Daten oder Anwendungen eignet sich die Software.
Auf dem Raspberry Pi ergibt der Einsatz gleich in mehrfacher Hinsicht Sinn: Zu Hause lohnt es sich, die typischen Anwendungen in Container zu packen: Samba, FTP-Server, Mediacenter, Owncloud und andere richten Sie so nur einmal ein und laden sie in einen privaten Hub hoch, mit dem Sie anschließend interagieren [8].
Wenn Sie einen RasPi neu aufsetzen, genügt es, Docker zu installieren und die zuvor gebauten Images wieder herunterzuladen. Das ermöglicht es außerdem, die Container auf andere RasPis zu übertragen, womit Sie etwa Ihr Gerät zu Hause mit einem im Büro oder bei Bekannten synchronisieren.
Wie bei vielen anderen Technologien ergeben sich beim Einsatz von Docker einige Nachteile. Viele Images stehen ungeprüft im Netz, was ein erhebliches Sicherheitsrisiko bedeutet. Von daher erscheint es ratsam, jedes Image genauer unter die Lupe zu nehmen, bevor Sie es starten, oder es gleich selbst zu bauen.
Wer amerikanischen Firmen nicht vertraut, sollte seine Images nicht im Docker Hub ablegen und stattdessen eine eigene Registry betreiben [9]. Docker-Container sind darüber hinaus prinzipiell weniger abgeschottet als virtuelle Maschinen und komplizierter zu betreiben, sofern Sie mehrere Anwendungen zusammenschalten möchten. Spätestens, wenn Sie einen anderen Kernel benötigen, müssten Sie auf KVM, Xen und andere Alternativen umsteigen.
In der Vergangenheit gab es zudem nur wenige grafische Oberflächen, um die Container zu verwalten. Wer Docker benutzen wollte, musste sich also etwas intensiver damit beschäftigen. Mittlerweile existieren allerdings mehrere Projekte, etwa Shipyard [10], Panamax [11] oder Portainer [12], die den Umgang mit Docker selbst den Anwendern ermöglichen, die sich weniger für die Shell begeistern.
Fazit
Obwohl Docker eine mächtige Software liefert, liegt die Hürde für den Einstieg vergleichsweise niedrig. Mit wenigen Befehlen verwandeln Sie vorgefertigte Images aus der Community in lauffähige Container. Sogar eigene Container erstellen Sie im Handumdrehen, wenn Sie sich auf die Materie einlassen.
Für den RasPi ergeben sich gleich mehrere Möglichkeiten: Wer oft genutzte Anwendungen in Container verpackt, spart beim erneuten Einrichten eines Geräts Zeit und hat zusätzlich die Möglichkeit, seine Anwendungen mit anderen zu teilen. Zudem sorgen Docker-Container für Reproduzierbarkeit: Einmal gebaut, setzen Sie einen Container immer gleich auf.





