Unterschiedliche digitale Datenströme durch verschiedene 0-1-Werte symbolisiert
Cloud & Hosting

Docker und Virtual Machines im Vergleich

In der IT-Welt stehen sich im Bereich Virtualisierungsumgebungen zwei Größen gegenüber: Virtual Machines (VMs) auf der einen Seite sowie Docker und Docker-ähnliche Lösungen auf der anderen. VMs sind die Klassiker der Virtualisierung, während Docker mit der Containerisierung neue Wege beschreitet. Beide haben ihre Stärken und Schwächen, wie Sie im Folgenden erfahren.

Noch vor einigen Jahren waren virtuelle Maschinen (Virtual Machines, kurz: VM) dominierend in der Virtualisierung von Systemen und Anwendungen. Eine virtuelle Maschine simuliert alle Komponenten eines echten Computers. Hierzu gehören eine eigene Betriebssysteminstallation sowie die Hardware-Umgebung. Daher spricht man hier auch von der „Vollvirtualisierung“.

Inhaltsverzeichnis

Hypervisor und Virtualisierungsfunktionen

Eine Hypervisor-Software erstellt und verwaltet dabei alle virtuellen Maschinen auf einem Computer oder innerhalb einer Cloud. Sie bildet zugleich die Verbindung zwischen den Gast-Betriebssystemen und dem Host-Betriebssystem.
Die Virtualisierung über Docker hingegen läuft ohne Hypervisor. Das System nutzt die nativen Virtualisierungsfunktionen von Betriebssystemen. Unter Linux sind das beispielsweise die Cgroups- und Namespaces-Funktionen. So ist es möglich, dass selbst auf einer kleinen Plattform sehr viele Docker-Container gleichzeitig laufen können. Auch für den Einplatinencomputer Raspberry Pi gibt es daher bereits Docker-Umsetzungen. Sie unterstützen sogar die Verbindung mehrerer Raspberry Pi über einen sogenannten Docker-Schwarm.
Alle Container einer Plattform nutzen über die Docker Engine direkt das Host-Betriebssystem der Computerhardware. Nur das Netzwerk-Interface und das Dateisystem sind exklusiv. Man spricht daher bei Docker auch von einer Betriebssystemvirtualisierung. Denn aus Sicht der Anwendung virtualisiert sie nur das System.
Gut gelaunter Mann mit einem Headset vor einem Notebook.

Microsoft Azure: Back-up, SharePoint und Virtual Desktops

Sichern und archivieren Sie wertvolle Daten jetzt noch einfacher.

Mit Single-Sign-on für IT-Anwendungen und SharePoint-Integration stellen Sie Desktop-Anwendungen jetzt noch schneller bereit.

Und mit dem Azure Virtual Desktop konzentrieren Sie sich auf Strategie und Management – statt um die Verwaltung Ihrer Infrastruktur.

Vorteile von Virtual Machines gegenüber Docker

Auch wenn Docker viele Anforderungen im Entwicklungsbereich abdeckt, ist es für einige Anwendungsfälle sinnvoller, auf klassische Virtual Machines zu setzen. VMs bieten eine stärkere Sicherheitsisolation durch eigene Betriebssysteminstanzen, eignen sich dadurch besser für Legacy-Anwendungen und ermöglichen die Ausführung verschiedener Betriebssysteme. Sie greifen anders als Docker direkt auf Betriebssystemroutinen und Hardwareressourcen zu. VMs sind überall dort das Mittel der Wahl, wo es darum geht, spezifische Betriebssystemroutinen zu nutzen oder spezifische Hardwareumgebungen einzusetzen.

Vorteile von Docker gegenüber Virtual Machines

Bei der Installation mehrerer VM-Anwendungen spart Docker gegenüber dem Einsatz mehrerer klassischer Virtual Machines erheblich Speicherplatz. Grund dafür ist unter anderem, dass die Installation eines Gast-Betriebssystems bei Nutzung von Docker-Containern entfällt. Docker-Anwendungen verbrauchen somit nur unwesentlich mehr Systemleistung als nicht-virtuelle Anwendungen. Zugleich lassen sich Docker-Container sehr schnell auf andere Umgebungen übertragen. Auch das Anlegen eines neuen Containers erfolgt wesentlich zügiger als das Hochfahren einer VM. Besonders für die Softwareentwicklung bringt dies große Vorteile. Die gesamte Applikationsumgebung wird dabei über Container-Images zur Verfügung gestellt.
Docker ist zwar Vorreiter bei der Entwicklung gewesen, aber inzwischen nur ein Anbieter von vielen. Podman oder Kubernetes sind weitere Hersteller, die mit Docker vergleichbare Containerlösung anbieten, um Applikationen in Unternehmen zu verteilen.
Das Bild zeigt eine Hand unter einer symbolischen Wolke

Flexibel, skalierbar und sicher: Vodafone Cloud- und Hosting-Services

Sie suchen Cloud-Lösungen, die sich individuell und flexibel entsprechend Ihrer Business-Anforderungen anpassen lassen?

Bei der Sie bei Bedarf alle Services aus einer Hand erhalten und sich über Performance und Datensicherheit keine Gedanken machen müssen?

Gerne helfen wir Ihnen bei der Auswahl der passenden Cloud & Hosting Services für Ihr Unternehmen und unterstützen Sie mit Informationen, worauf es anderen Unternehmen bei der Auswahl eines passendens Cloud-Anbieters ankommt. 

Unterschiedliche Abstraktionsebenen für verschiedene Anwendungsgebiete

So sehr sich die Installationsweisen auch ähneln – intern arbeiten Docker und VM auf unterschiedlichen Abstraktionsebenen. Docker kommt zum Einsatz, um einzelne Anwendungen isoliert zu installieren, weiterzuentwickeln und als Image an andere Entwickler:innen weiterzugeben. Docker-Images sind klein und deshalb leicht zu verteilen.
VM simuliert hingegen eine komplette Hardware mit allen gegenseitigen Abhängigkeiten der einzelnen Programme und Betriebssystemkomponenten. Damit können Sie Installationen sogar auf andere Plattformen transferieren – beispielsweise eine Linux-VM über die Software Virtualbox auf einen Windows-Rechner.
Docker und VM haben somit ihre jeweiligen Einsatzgebiete, in denen sie gegenüber der anderen Lösung klar im Vorteil sind. Aber auch die Kombination beider Welten ist möglich, etwa in der Cloud. Sie können Docker beispielsweise auf einer virtuellen Maschine unter Linux ausführen, um darauf Docker-Container zu verwenden.
Vergleichsgrafik für virtuelle Maschinen und Docker-Container
Vergleichsgrafik für virtuelle Maschinen und Docker-Container

Unterschiede in der Praxis am Beispiel einer Webserver-Installation

Was im großen Maßstab für Unternehmen ganze IT-Abteilungen versorgt, funktioniert auch im Kleinen als lokale Installation hervorragend. Das Prinzip einer Docker-Installation im Vergleich zur Applikations-Installation auf einer Virtuellen Maschine zeigen wir am Beispiel einer Webserver-Einrichtung. Einen solchen Webserver können Sie beispielsweise intern nutzen, um darauf mit IoT-Devices aus Ihrem Unternehmen heraus zuzugreifen.

Vorgehensweise unter Docker

Applikationen installiert Docker über so genannte Images, aus denen es die Container hochfährt. Die Images der unterschiedlichsten Software stehen über Sammlungen zur Verfügung. Die größte öffentliche Sammlung ist der Docker-Hub unter hub.docker.com.
Zur Installation dieser Images brauchen Sie einen Rechner als Basisplattform: vom Windows-PC über Mac und Linux-Desktop bis hin zum Raspberry-System oder Thin-Client unterstützt Docker eine breite Palette an Plattformen. Auch ein gemieteter Linux-Server in der Cloud oder andere virtuelle Systeme sind eine gute Basis für Docker. Welche Systeme Docker unterstützt, ist im Download-Bereich des Herstellers auf docker.com gelistet.
Zur Webserver-Installation gibt es beispielsweis „nginx“, was einen Open Source Proxy-Server für HTTP, HTTPS, SMTP, POP3, und IMAP-Protokolle zur Verfügung stellt. Wenn Sie die entsprechende Zugriffsberechtigung für das System haben, können Sie den Webserver einfach über die Kommandozeile installieren. Unter Linux reicht beispielsweise aus:
curl –fsSL https://get.docker.com –o het-docker.sh
sudo sh./get-docker.sh
Wo curl nicht installiert ist, müssen Sie es über „apt install curl“ entsprechend einrichten.
Zukünftige Docker-Benutzer:innen sollen auch das Recht haben, Docker-Applikationen ohne zusätzliche Root-Berechtigung via sudo zu installieren. Als Admin genügt es, den Benutzer:innen dieses Recht einmalig zu erteilen:
„sudo usermod –aG docker $USER“.
Nach Installation der Docker-Basis müssen Sie nun das gesuchte Image installieren. Generell kann jede:r beliebigen Content auf die Docker-Plattform hochladen. Bei der Suche über docker.com sollten Sie daher nur trusted Content verwenden, also einen Haken bei „Docker Official Image“ setzen. Über die Suchmaske geben Sie für das genannte Beispiel „nginx“ ein, was direkt zur Anzeige der verfügbaren Images führt.
Über den Kommandozeilenbefehl „docker run –p 80:80 nginx“ starten Sie das entsprechende Image. In anderen Anwendungsfällen ersetzen Sie „nginx“ mit dem Namen des aufgelisteten Images. „80:80“ bewirkt die Weiterleitung des Ports 80 der Netzwerkkarte an den Docker-Container. Je nach Applikation kann es notwendig sein, dass Sie weitere Parameter einsetzen.
Der Server steht dann direkt unter der Webadresse des Rechners zur Verfügung. Die Adresse ermitteln Sie unter Linux beispielsweise über „ip a“. Durch die Tastenkombination STRG+C oder die Befehlszeile „docker stop nginx“ können Sie die Ausführung wieder beenden.

Vorgehensweise unter einer Virtuellen Maschine

Die Installation von Services auf einer Virtuellen Maschine unterscheidet sich nicht grundlegend von der Vorgehensweise auf einem physischen Computer. Zuerst richten Sie eine virtuelle Maschine ein – über den Cloud-Anbieter oder lokal beispielsweise mit VMware, VirtualBox, Microsoft Hyper-V oder einer anderen Lösung.
Anschließend richten Sie ein Betriebssystem ein. Zur besseren Vergleichbarkeit fällt die Wahl hierbei auch auf ein Linux-System (Debian) für die nginx-Webserver-Installation.
Über den Kommadozeilenbefehl „sudo apt install nginx –y“ können Sie Nginx installieren.
Den Webserver starten Sie mit: „sudo systemctl start nginx“. Dieser ist dann über die lokale IP-Adresse erreichbar – analog der Vorgehensweise bei Docker.
Geschäftsmann arbeitet an Notebook und Taschenrechner

Vodafone Connected Business

Sie möchten ein sicheres, effizientes und transparentes Unternehmensnetzwerk. Ein Netzwerk, bei dem alle Bausteine ineinander greifen? Kein Problem. Wir betreiben Ihre IT-Infrastruktur und Services. Sie konzentrieren sich auf Ihr Kerngeschäft. Wie das funktioniert? Wir kombinieren die innovative Cloud Technologie von Cisco Meraki mit dem professionellen Vodafone Business Service. Passend für kleine Unternehmen, den Mittelstand und Großunternehmen.

  • Security Appliance mit Firewall
  • WLAN
  • ...und vieles mehr

Docker vs. Virtual Machines: Das Wichtigste in Kürze

  • Virtual Machines (VM) simulieren im Gegensatz zu Docker komplette Hardwareumgebungen.
  • Docker ermöglicht es, einzelne Anwendungen isoliert zu installieren.
  • Docker bietet im Vergleich zu VMs schnellere Skalierbarkeit durch Containerorchestrierung.
  • Docker arbeitet ressourcenschonend und ist in vielen Fällen kosteneffizienter als entsprechende VM-Lösungen.
  • VMs haben gegenüber Docker-Containern langsamere Startzeiten.
  • VMs bieten überall dort Vorteile, wo es darum geht, vollständige Betriebssysteme oder Hardware und Peripherie abzubilden.
Das könnte Sie auch interessieren:
Unified Communication
Eine Hand hält den Hörer eines Tischtelefons. Der Zeigefinger tippt auf eine Zifferntaste. Davor transparent ein Wolken-Symbol und darum herum angeordnet mehrere Telefon-Symbole.

Cloud-PBX: Moderne Telefonie für Ihr Unternehmen

Auch im Zeitalter von E-Mails und Chatprogrammen ist die Telefonanlage immer noch das kommunikative Herz vieler Firmen. Technik und Funktionsumfang haben sich inzwischen stark weiterentwickelt. Aktuelle Anlagen integrieren Computer, Smartphones und externe Endgeräte in das Firmennetz. Was eine moderne Cloud-Telefonanlage noch alles kann und wie Sie damit in Ihrem Unternehmen die Produktivität steigern, lesen Sie hier. Von der reinen Anrufvermittlung zur kommunikativen Gesamtlösung: In aktuellen Telefonanlagen stecken jede Menge Innovationen. Und die gibt es per Cloud-PBX inzwischen sogar nahezu wartungsfrei dank Virtualisierung. Wie genau funktioniert der Umstieg auf das Telefonieren über die Datenwolke und welche Voraussetzungen gibt es?

Cloud & Hosting
Das Foto zeigt die Luftaufnahme einer Großstadt und symbolische Linien zwischen Gebäuden und Straßen.

Fog-Computing einfach erklärt

Fog-Computing erweitert das Konzept des Cloud-Computing, indem es Datenverarbeitung, Speicherung und Netzwerkdienste näher an die Datenquelle verlegt, also an den Netzwerkrand. Der Begriff „Fog“ (Nebel) beschreibt die Verteilung der Rechenressourcen als Schicht zwischen Systemen wie beispielsweise IoT-Geräten und der Cloud. Das Unternehmen Cisco hat den Begriff Fog-Computing ursprünglich eingeführt. Er beschreibt ein Cloud-Konzept, bei dem ein Teil der Rechenleistung nicht mehr zentral in der Cloud liegt.

Connectivity
Person sitzt mit einem Notebook am Tisch und hält ein Smartphone in der Hand, darüber Symbole für die Cloud, Server und Daten.

Was ist eine Cloud-Telefonanlage?

Eine Cloud-Telefonanlage ist das Herzstück der modernen Business-Kommunikation. Damit telefonieren Sie unkompliziert von überall und erhalten darüber hinaus viele Collaboration-Tools. Das macht die Cloud-Telefonie auch für die hybride Arbeitswelt attraktiv. Die virtuelle Telefonanlage wird in der Cloud gehostet; Hardware in den Büroräumen brauchen Sie dafür nicht mehr. Wie eine cloudbasierte Telefonanlage funktioniert, erfahren Sie hier. In der heutigen Arbeitswelt müssen sich Unternehmen immer komplexeren Herausforderungen stellen. Dazu gehört es zum Beispiel, Nachwuchskräfte zu rekrutieren, die viel von zu Hause aus arbeiten wollen, zu Spitzenzeiten die Personaldecke aufzustocken und auch, mitunter kurzfristig neue Standorte zu erschließen. Mit einer Cloud-Telefonanlage werden Betriebe jeder Größe diesen Anforderungen besser gerecht: Sie ist flexibel, skalierbar, vereinfacht die Verwaltung und spart Kosten. Je nach Anbieter gehören nützliche Collaboration-Funktionen wie Messaging, Team-Chat und Videotelefonie bereits standardmäßig zum Umfang.

Digitalisierungsberatung

Die Beraterinnen und Berater helfen Ihnen kostenlos und unabhängig bei praktischen Fragen und geben konkrete Tipps. Vereinbaren Sie einen unverbindlichen Termin um Ihr Anliegen zu besprechen.

Termin vereinbaren