4.4.1 Allgemeines zu Docker und Portainer

Beschreibung: Allgemeine Beschreibung

Kategorie: Grundwissen, Docker

Link zu diesem Beitrag: Alles auswählen

[url=https://forum.timberwolf.io/app.php/kb/viewarticle?a=35&sid=8dfb26b71e676db719c624b473b7a067]Knowledge Base - 4.4.1 Allgemeines zu Docker und Portainer[/url]

Am Timberwolf Server können mittels Docker-Containern zahlreiche Erweiterungen durch die Community auf einfachem Wege installiert und betrieben werden. Die Container sind dabei vom eigentlichen Betriebssystem des Timberwolf Servers abgeschottet.

Was sind (Docker-)Container:

Docker ist eine Implementierung der Container-Technologie, die sich durch besonders benutzerfreundliche Eigenschaften auszeichnet und den Begriff Container als Alternative zu virtuellen Maschinen überhaupt erst populär gemacht hat. Ein Container fasst eine einzelne Anwendung mitsamt aller Abhängigkeiten wie Bibliotheken, Hilfsprogrammen und statischer Daten in einer Image-Datei zusammen, ohne aber ein komplettes Betriebssystem zu beinhalten. Daher lassen sich Container mit einer leichtgewichtigen Virtualisierung vergleichen.

Container benötigen weniger Ressourcen als virtuelle Maschinen, da sie zumeist auf das Starten eines eigenen Betriebssystems verzichten und stattdessen im Kontext des Host-Betriebssystems laufen. Trotzdem sind die Container gegeneinander und vom Host-System weitestgehend abgeschottet.
Dabei ist die Flexibilität sehr hoch, da im Bedarfsfalle durchaus ein eigenes linuxoides Betriebssystem in einem Container gestartet werden kann, soweit dies mit dem Kernel des Gastsystems kompatibel ist. Es ist also möglich, jeweils ein CentOS, Mint oder Ubuntu in separaten Containern unter einem gemeinsamen Kernel zu starten. Damit lassen sich auch Anwendungen starten, die für eine spezielle Linux-Distribution ausgelegt sind.

Docker-Container werden aus einem (oder mehreren gestapelten) Container-Image(s) gestartet, die einfach von einem System auf ein anderes übertragbar ist. Installation, Update und Deinstallation einer Software reduziert sich daher auf einen einfachen Kopiervorgang des / der Container-Images.

Aus einem Docker-Image heraus lassen sich beliebig viele Container (eigene Instanzen) starten, da die jeweiligen Schreibzugriffe nicht auf das ursprüngliche Container-Image wirken, sondern für jeden Container ein eigenes Dateisystem gestartet wird, das dem urspünglichen Image überlagert ist. Für viele Anwendungen können bereits vorbereitete Container-Images vom Docker-Hub heruntergeladen und unmittelbar gestartet werden. Die Konfiguration ist so weit wie möglich bereits im Image eingerichtet. Variable Teile, wie die Netzwerkkonfiguration, werden beim Start automatisch angelegt.

Welche Benutzeroberfläche ein Container verwendet, wird durch den Container selbst festgelegt. Es gibt Container ohne Benutzeroberfläche die nur einen Diemst bereitstellen, manche benötigen ein Terminalfenster und es gibt Software, die einen eigenen Webserver mitbringt, über diesen man mit einem Webclient zugreifen kann. Auf solche Webservices kann dann auch der im Timberwolf Server vorhandene Forward-proxy verwendet werden, der zudem noch eine zertifikatsbasierte TLS-Verschlüsselung ermöglicht.


Portainer:

Prinzipiell lassen sich alle Aufgaben, die im Zusammenhang mit Docker anfallen, über dessen Kommandozeilenwerkzeug erledigen (nur für sehr versierte User). Für die deutlich erleichterte Bedienung von Docker ist auf dem Timberwolf Server ein grafisches Admin-Werkzeug installiert, die als "portainer" bezeichnet wird. Mit dieser grafischen Benutzeroberfläche für die Verwaltung von Docker wird die Verwaltung von Containern wesentlich erleichtert.

Portainer selbst besitzt eine Weboberfläche und läuft selbst ein einem Docker Container. Dieser ist bereits "out-of-the-Box" vorinstalliert und wird vom Timberwolf Hauptsystem automatisch gestartet und steht damit immer zur Verfügung. Selbst wenn ein Benutzer innerhalb portainer den eigenen Container beendet (weil man den Docker Container mit Portainer innerhalb Portainer beendet) wird das von der Timberwolf Software erkannt und wieder gestartet.

Der Einstieg in Portainer erfolgt über einen Menüpunkt in der Timberwolf Server Administrations Oberfläche.

Portainer und Docker werden am Timberwolf Server kostenfrei zur Verfügung gestellt und auch per Update gewartet. Wegen der damit beinahe unendlichen Möglichkeiten kann ElabNET hierfür keinen Support leisten. Das gilt auch für die mit Docker gestarteten Betriebssysteme und Anwendungen. Die Community hier im Timberwolf-Forum hilft aber sehr gerne.

2018-10-17 Angepasst von StefanW