Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was sind die Vor- und Nachteile von Docker?

Was sind die Vor- und Nachteile von Docker?

青灯夜游
青灯夜游Original
2022-02-21 16:49:2817031Durchsuche

Vorteile: 1. Schnellere Bereitstellung und Bereitstellung; 3. Einfachere Migration und Erweiterung; 5. Geringerer CPU-/Speicherverbrauch; Nachteile: 1. Es kann nicht in 32-Bit-Linux-, Windows- oder Unix-Umgebungen verwendet werden. 2. Die Festplattenverwaltung durch Docker ist relativ eingeschränkt.

Was sind die Vor- und Nachteile von Docker?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Als aufstrebende Virtualisierungsmethode bietet Docker viele Vorteile im Vergleich zu herkömmlichen Virtualisierungsmethoden. Erstens können Docker-Container in Sekundenschnelle gestartet werden, was viel schneller ist als herkömmliche Methoden für virtuelle Maschinen. Zweitens weist Docker eine hohe Auslastung der Systemressourcen auf. Tausende von Docker-Containern können gleichzeitig auf einem Host ausgeführt werden. Zusätzlich zur Ausführung der darin enthaltenen Anwendung verbraucht der Container grundsätzlich keine zusätzlichen Systemressourcen, wodurch die Anwendungsleistung sehr hoch und der Systemaufwand so gering wie möglich ist. Die herkömmliche Methode der virtuellen Maschine erfordert 10 virtuelle Maschinen, um 10 verschiedene Anwendungen auszuführen, während Docker nur 10 isolierte Anwendungen starten muss.

Docker hat in den folgenden Aspekten große Vorteile. 1) Schnellere Lieferung und Bereitstellung Entwickler können ein Standard-Image verwenden, um eine Reihe von Entwicklungscontainern zu erstellen. Nach Abschluss der Entwicklung kann das Betriebs- und Wartungspersonal diesen Container direkt zum Bereitstellen von Code verwenden. Docker kann schnell Container erstellen, Anwendungen schnell iterieren und den gesamten Prozess sichtbar machen, sodass andere Mitglieder des Teams leichter verstehen können, wie die Anwendung erstellt wird und funktioniert. Docker-Container sind leicht und schnell! Die Startzeit des Containers beträgt Sekunden, was viel Zeit bei Entwicklung, Test und Bereitstellung spart.

2) Effizientere Virtualisierung

Der Betrieb von Docker-Containern erfordert keine zusätzliche Hypervisor-Unterstützung. Es handelt sich um eine Virtualisierung auf Kernel-Ebene, sodass eine höhere Leistung und Effizienz erzielt werden kann. + Welche Einschränkungen gibt es?

Docker ist weder allmächtig noch wurde es ursprünglich als Ersatz für Virtualisierungsmethoden wie KVM entwickelt. Hier ein paar einfache zusammenfassende Punkte:

1) Docker basiert auf Linux 64bit und kann nicht in 32bit Linux/ verwendet werden. Windows-/Unix-Umgebungen Verwenden Sie unten.

2) LXC basiert auf Linux-Kernelfunktionen wie Cgroup, daher kann das Gastsystem von Container nur Linux-basiert sein.

3) Im Vergleich zu Virtualisierungslösungen wie KVM ist die Isolation noch etwas mangelhaft. Alle Container teilen sich einen Teil der Laufzeitbibliothek.

Die Netzwerkverwaltung ist relativ einfach und basiert hauptsächlich auf der Isolierung des Namensraums.

4) Die von cgroup und cpuset bereitgestellten CPU-Funktionen sind im Vergleich zu Virtualisierungslösungen wie KVM schwer zu messen (daher berechnet dotcloud hauptsächlich nach Speicher).

5) Die Festplattenverwaltung durch Docker ist relativ begrenzt.

6) Der Container wird zerstört, wenn der Benutzerprozess stoppt, und Benutzerdaten wie Protokolle im Container sind unpraktisch zu sammeln. Die oben genannten Einschränkungen können also in die folgenden Anwendbarkeiten unterteilt werden:

Für 1-2 können diejenigen, die Windows-Basisanwendungen benötigen, grundsätzlich bestehen.

Für 3-5 hängt es hauptsächlich von den Bedürfnissen des Benutzers ab, ob er einen Container oder eine VM benötigt. Es wird auch festgestellt, dass Docker als IaaS nicht machbar ist.

Für 6-7 ist es zwar eine Funktion, die Docker selbst nicht unterstützt, sie kann jedoch auf andere Weise gelöst werden (Festplattenkontingent, Mount-Bind).

Kurz gesagt ist die Wahl eines Containers oder einer VM ein Kompromiss zwischen Isolation und Wiederverwendbarkeit von Ressourcen. Auch wenn Docker 0.7 Nicht-AUFS-Dateisysteme unterstützen kann, sind seine Funktionen immer noch instabil und kommerzielle Anwendungen können Probleme haben. Die stabile Version von AUFS erfordert Kernel 3.8. Wenn Sie also den Erfolg von dotcloud reproduzieren möchten, können Sie dies tun Sie müssen über ein Upgrade des Kernels nachdenken oder auf die Serverversion von Ubuntu umsteigen (letztere bietet Deb-Updates). Dies ist auch der Grund, warum die Open-Source-Community eher dazu neigt, Ubuntu (Kernel-Version) zu unterstützen.

Wissen erweitern: Docker-Sicherheitsprobleme
  • 1) Sicherheit der Docker-Umgebung

  • Die Dynamik von Docker war in den letzten 12 Monaten sehr hoch, und viele Leute sagen, dass es selten vorkommt, dass eine so aufstrebende Technologie das Interesse der Industrie weckt. Wenn sich die Aufregung jedoch in tatsächlichen Bereitstellungen niederschlägt, müssen Unternehmen auf die Sicherheit von Docker achten. Jeder, der Docker kennt, weiß, dass Docker Container verwendet, um Ressourcen effektiv zu isolieren. Daher verfügen Container über fast das gleiche Maß an Sicherheitsbetriebsverwaltung und Konfigurationsverwaltung wie Linux-Betriebssysteme und Hypervisoren. Aber wenn es um Sicherheitsabläufe und -verwaltung sowie die Unterstützung gemeinsamer Kontrollen mit Vertraulichkeit, Integrität und Verfügbarkeit geht, kann Docker Sie im Stich lassen.
  • Die Sicherheit von Docker wird komplexer, wenn Docker auf einer Cloud-Anbieterplattform ausgeführt wird. Sie müssen wissen, was der Cloud-Anbieter tut, vielleicht teilen Sie eine Maschine mit anderen. Docker Obwohl Container keine integrierten Sicherheitsfaktoren haben und es für neue Technologien wie Docker schwierig ist, über umfassende Sicherheitsmaßnahmen zu verfügen, bedeutet dies nicht, dass es in Zukunft nicht mehr auftauchen wird.

  • 2) Docker gewährleistet die Sicherheit der Containerbereitstellung
  • Einige Experten verorten den Kern der Docker-Sicherheitsprobleme auch in der Konfigurationssicherheit und glauben, dass das aktuelle Problem bei Docker darin besteht, dass es schwierig ist, einen sicheren Container zu konfigurieren. Während Docker-Entwickler jetzt die Angriffsfläche durch die Erstellung sehr kleiner Container verringern, besteht das Problem darin, dass Mitarbeiter in großen Unternehmen, die Docker-Container in Produktionsumgebungen betreiben, mehr Transparenz und Kontrolle benötigen. Wenn ein Unternehmen Tausende oder Zehntausende Docker-Container bereitstellt, muss unbedingt sichergestellt werden, dass diese Docker-Container in Übereinstimmung mit den Sicherheitsrichtlinien des Unternehmens konfiguriert werden.
    Um dieses Problem zu lösen, muss Docker die Echtzeit-Sichtbarkeit der Docker-Container-Bereitstellung erhöhen und die vom Unternehmen formulierten Sicherheitsrichtlinien umsetzen. Einige Anbieter haben zu diesem Zweck auch Lösungen auf den Markt gebracht, die den Betreibern Echtzeit-Transparenz bieten und ihnen helfen, Sicherheitsrichtlinien für die virtuelle Infrastruktur auf Containerebene durchzusetzen.

    Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Vor- und Nachteile von Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist Geth in Docker?Nächster Artikel:Was ist Geth in Docker?