Heim >Betrieb und Instandhaltung >Docker >Was ist der Unterschied zwischen Docker und virtueller Maschine?
Die spezifische Differenzanalyse lautet wie folgt:
1. Wesentlicher Unterschied
(Empfohlenes Tutorial: Docker-Tutorial)
VM (VMware) erstellt eine virtuelle Ebene, eine Virtualisierungsebene basierend auf der Hostmaschine und dem Host
Container (Docker-Container) erstellt eine Docker-Engine auf dem Host-Computer und dem Betriebssystem des Host-Computers und installiert dann die Anwendung basierend auf der Engine.
Dann stellt sich die Frage: Wie läuft das Programm ohne Betriebssystem?
Sie können eine Ubuntu-Image-Datei in Docker erstellen, damit das Ubuntu-System in Docker integriert werden kann und die laufenden Anwendungen alle Ubuntu-Anwendungen sind
2 Unterschiede in der Verwendung
Größe:
In einer virtuellen Maschine Speicher belegt von Ubuntu:
Speicher, der von der Ubuntu-Image-Datei im Docker-Container belegt wird:
Startup:
Docker erstellt eine Docker-Engine auf dem Betriebssystem des Host-Computers und ruft diese direkt auf dem Betriebssystem auf der Hardware-Ressourcen des Host-Computers, anstatt das Betriebssystem und die Hardware-Ressourcen zu virtualisieren, sodass der Vorgang schnell ist.
Dazu gehört die Installation einer virtuellen Ubuntu-Maschine und das Abrufen einer Docker-Ubuntu-Image-Datei. Der Unterschied ist offensichtlich, dass das Öffnen der virtuellen Maschine mehr als 2 Minuten dauert.
Integration:
Docker ist besser integriert als VM.
3. Funktionen von Docker
1. Schneller Einstieg
Benutzer können ihre eigenen Programme in nur wenigen Minuten „dockerisieren“. Docker basiert auf dem „Copy-on-Write“-Modell, wodurch die Anwendung sehr schnell geändert werden kann. Man kann sagen, dass es den Bereich „Der Code wird nach Belieben geändert“ erreicht.
Anschließend können Sie einen Container erstellen, um Ihre Anwendung auszuführen. Die meisten Docker-Container starten in weniger als 1 Sekunde. Da der Overhead des Hypervisors entfällt, verfügen Docker-Container über eine hohe Leistung und es können mehr Container auf demselben Host ausgeführt werden, sodass Benutzer die Systemressourcen so weit wie möglich voll ausnutzen können.
2. Logische Klassifizierung der Verantwortlichkeiten
Mit Docker müssen sich Entwickler nur um die in den Containern ausgeführten Anwendungen kümmern, während sich das Betriebs- und Wartungspersonal nur um die Verwaltung der Container kümmern muss. Der Zweck des Docker-Designs besteht darin, die Konsistenz zwischen der Entwicklungsumgebung, in der Entwickler Code schreiben, und der Produktionsumgebung, in der Anwendungen bereitgestellt werden, zu verbessern. Dadurch wird die Art von „Während der Entwicklung ist alles normal, es muss ein Betriebs- und Wartungsproblem sein (die Testumgebung ist normal, wenn nach dem Online-Gehen ein Problem auftritt, muss es ein Betriebs- und Wartungsproblem sein)“
3. Schneller und effizienter Entwicklungslebenszyklus
Eines der Ziele von Docker besteht darin, den Codezyklus von der Entwicklung über das Testen bis hin zur Bereitstellung und dem Online-Betrieb zu verkürzen und Ihre Anwendung portierbar, einfach zu erstellen und einfach zusammenzuarbeiten. (Laienhaft ausgedrückt ist Docker wie eine Kiste, die viele Objekte enthalten kann. Wenn Sie diese Objekte benötigen, können Sie sie direkt aus der großen Kiste nehmen, ohne sie einzeln aus der Kiste zu nehmen.)
4) Ermutigung Nutzen Sie den Service- orientierte Architektur
Docker fördert auch serviceorientierte Architektur und Microservices-Architektur. Docker empfiehlt, dass ein einzelner Container nur eine Anwendung oder einen Prozess ausführt und so ein verteiltes Anwendungsmodell bildet. Bei diesem Modell können Anwendungen oder Dienste als eine Reihe intern miteinander verbundener Container dargestellt werden, wodurch eine verteilte Bereitstellung, Erweiterung oder Fehlerbehebung ermöglicht wird Die Anwendung wird sehr einfach und verbessert gleichzeitig die Selbstbeobachtung des Programms. (Natürlich ist es möglich, mehrere Anwendungen in einem Container auszuführen)
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Docker und virtueller Maschine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!