Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

Portierbare Container

Hinzu kommen bei Docker allerdings viele praktische Features. Vermutlich die wichtigste Funktion sind die portierbaren Container: In Docker ist es leicht, vorhandene Container zwischen zwei Hosts umzuziehen. Purem LXC ist dieser Stunt eher zuwider: Letztlich läuft es dort auf einen manuellen Umzug der Dateien hinaus – insgesamt ein wenig komfortabler Vorgang. Obendrein hat ein Benutzer keine Garantie, dass er am Ende tatsächlich Erfolg hat: Container in "purem" LXC sind hochgradig abhängig von der Umgebung, in der sie etwa auf System A laufen. Ist das Ziel-System B diesem nicht zumindest ähnlich, endet die Umzugsfreude, noch bevor sie angefangen hat. Problematisch sind hier diverse Faktoren wie die genutzte Distribution oder die verfügbare Hardware für den Container.

Die Entwickler von Docker haben ein eigenes Container-Format konstruiert, das die Sache leichter macht: Docker abstrahiert die Ressourcen, welche eine VM sieht, und kümmert sich um die Kommunikation mit dem realen System auf der anderen Seite selbst. Die Dienste, die innerhalb eines Docker-Containers laufen, sehen insofern stets das gleiche System. Will ein Benutzer nun einen Container von einem System auf ein anderes umziehen, übernimmt Docker den größten Teil der Arbeit: Der Benutzer exportiert den Container in das dafür erfundene Docker-Format, zieht die Datei auf einen anderen Rechner um, spielt den Container wieder in Docker ein, fertig.

Die Docker-Philosophie

Wer sich mit Docker beschäftigt, merkt schnell, dass die Docker-Entwickler offensichtlich andere Grundauffassungen bezüglich der Container vertreten, als es zum Beispiel die LXC-Verantwortlichen tun. Die Docker-Entwickler selbst bezeichnen Docker als Applikations-zentrisch. Gemeint ist, dass in Docker die innerhalb eines Containers laufende Applikation der wirklich wichtige Aspekt ist, nicht der Container selbst. LXC genießt ja gerade in Entwicklerkreisen Beliebtheit, weil sich ein LXC-Container relativ gut als schnell-bootender Ersatz für eine komplette virtuelle Maschine nutzen lässt. Bei Docker geht es nicht um diesen Faktor, sondern darum, dass ein Container die kleine aber feine Umwelt für nahezu jede Applikation sein kann. Vor diesem Hintergrund wird auch deutlich, was es mit dem genannten Container-Feature auf sich hat: Die Kernmotivation beim Erfinden dieses Features war die Tatsache, dass man Apps quasi als Appliances schnell von einem Host auf einen anderen umziehen können sollte.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021