Ein Docker-Container bietet im Vergleich mit einer klassischen VM auf Basis von KVM oder Xen viele Vorteile: Der Overhead bei Containern ist merklich geringer, weil diese den Host-Kernel verwenden, statt einen eigenen zu betreiben. Und weil ein Container üblicherweise nur für den Betrieb eines einzelnen Dienstes ausgelegt ist, muss das Abbild für jenen Container auch nur die Dateien enthalten, die für eben diese Aufgabe nötig sind. Hinzu kommt, dass Docker-Container im Alltag relativ wenig Arbeit machen: Haben Sie einen Container erst ausgerollt, läuft dieser in aller Regel schweigend vor sich hin und erledigt die ihm zugedachten Aufgaben.
Eine Ausnahme gibt es von dieser Regel freilich: Updates. Dabei spielt es erst einmal gar keine Rolle, welche Komponente eines Stacks aus OS, Docker und Applikation zu aktualisieren ist – zu einer Unterbrechung des Dienstes kommt es in jedem Fall. Und in der Vergangenheit hat Docker sich im Hinblick auf Updates nicht gerade mit Ruhm bekleckert, was vielen Admins heute Schauer über den Rücken jagt, wenn sie die Worte "Docker" und "Update" in einem Satz hören. Es stellt sich freilich die Frage: Was ist aus Admin-Sicht der sinnvollste Ansatz, Updates im Docker-Kontext einzuspielen? Und welche Teile des Stacks können überhaupt Gegenstand von Updates sein?
Wenn die Rede von "Docker-Updates" ist, sind im Alltag damit oft ganz unterschiedliche Dinge gemeint. Wie bereits beschrieben besteht ein Docker-Stack in aller Regel aus mehreren Komponenten: Auf der unteren Ebene ist das Blech, das auch im Container-Kontext freilich nicht fehlen darf. Darauf findet sich das Betriebssystem wieder, im Docker-Kontext meist Linux, das über seine Treiber die Kommunikation mit der Hardware ermöglicht.
Dann kommt Docker selbst: Die eigentlichen Container sind Unterprozesse des Docker-Daemons
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.