Docker-Container-Technologie bezieht sich auf die Tatsache, dass Docker ein Container ist, der von einem in der GO-Sprache geschriebenen Programm ausgeführt wird, das eine Isolation auf Anwendungsebene implementiert; Docker ist für Entwickler und Systemadministratoren konzipiert, um verteilte Anwendungen zu veröffentlichen und auszuführen .
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Docker-Container-Technologie bezeichnet Docker als einen „Container“ (Linux-Container, LXCs), der von einem in der GO-Sprache geschriebenen Programm ausgeführt wird, was unsere grundlegende Entwicklung verändert und die Betriebseinheit wird vom direkten Betrieb des virtuellen Hosts (VM) in den „Container“ umgewandelt, in dem das Betriebsprogramm ausgeführt wird.
Docker ist eine offene Plattform für Entwickler und Systemadministratoren zum Veröffentlichen und Ausführen verteilter Anwendungen. Besteht aus zwei Teilen: Docker Engine: eine tragbare, leichte Laufzeitumgebung und ein Paketmanager.
(Hinweis* Einzelnes Betriebssystem vs. einzelner Thread) Docker Hub: Ein Cloud-Dienst, der zum Erstellen automatisierter Workflows und zum Teilen von Anwendungen erstellt wurde. (Hinweis* Cloud-Image-/Paketverwaltung vs. npm-Paketverwaltung, ist es npm besonders ähnlich?)
Vom 20. März 2013 wurde die erste Version von Docker offiziell veröffentlicht, bis Juni 2014, als Docker 1.0 offiziell veröffentlicht wurde 15 Monate. Obwohl seine Entwicklungsgeschichte noch sehr kurz ist, erfreut sich Docker immer größerer Beliebtheit. Tatsächlich ist die Container-Technologie keine Innovation von Docker. Cloud-Dienstleister wie HeroKu und NodeJitsu haben jedoch eine ähnliche, leichtgewichtige Virtualisierungstechnologie übernommen. Docker war jedoch der erste, der diese Container-Technologie in großem Umfang als Open-Source-Lösung einsetzte, und fand breite Akzeptanz in der Community .
Erweiterung der Containertechnologie
In der Welt der Computer haben Container eine lange und legendäre Geschichte. Container unterscheiden sich von der Hypervisor-Virtualisierung HV. Die Hypervisor-Virtualisierung verwendet eine Zwischenschicht, um eine oder mehrere unabhängige Maschinen auf physischer Hardware zu virtualisieren, während Container direkt auf dem Benutzerbereich des Betriebssystems ausgeführt werden. Daher wird die Containervirtualisierung auch als „Virtualisierung auf Betriebssystemebene“ bezeichnet. Die Containertechnologie ermöglicht die Ausführung mehrerer unabhängiger Benutzerbereiche auf demselben Host.
Aufgrund des „Guesting“ im Betriebssystem kann der Container nur dasselbe oder ein ähnliches Betriebssystem wie der zugrunde liegende Host ausführen, was nicht sehr flexibel zu sein scheint. Beispiel: Sie können Redhat Enterprise Linux in einem Ubuntu-Dienst ausführen, aber Sie können Microsoft Windows nicht auf einem Ubuntu-Server ausführen.
Container gelten im Vergleich zur vollständig isolierten Hypervisor-Virtualisierung als unsicher. Diejenigen, die dieser Ansicht widersprechen, sind der Meinung, dass die Tatsache, dass virtuelle Container ein komplettes Betriebssystem virtualisieren, zweifellos das Ausmaß von Angriffen erhöht und dass auch das potenzielle Gefährdungsrisiko der Hypervisor-Schicht berücksichtigt werden muss.
Trotz vieler Einschränkungen werden Container in einer Vielzahl von Anwendungen eingesetzt. Die Containertechnologie erfreut sich bei sehr umfangreichen mandantenfähigen Dienstbereitstellungen, einfachen Sandboxes und isolierten Umgebungen mit weniger strengen Sicherheitsanforderungen großer Beliebtheit. Eines der häufigsten Beispiele ist ein „Chroot-Jail“, das eine isolierte Verzeichnisumgebung zum Ausführen von Prozessen erstellt. Wenn der im Berechtigungsisolationsgefängnis laufende Prozess von einem Eindringling verletzt wird, befindet sich der Eindringling „im Gefängnis“, ist aufgrund unzureichender Berechtigungen in dem vom Container erstellten Verzeichnis gefangen und kann den Host-Computer nicht weiter beschädigen.
Die neueste Containertechnologie führt OpenVZ, Solaris Zones und Linux Container (LXC) ein. Mit diesen neuen Technologien sind Container nicht mehr nur eine einfache Betriebsumgebung. Innerhalb seiner eigenen Berechtigungsklasse ähnelt ein Container eher einem vollständigen Host. Für Docker profitiert es von modernen Linux-Funktionen wie der Kontrollgruppen- und Namespace-Technologie. Die Isolierung zwischen dem Container und dem Host ist vollständiger. Der Container verfügt außerdem über eigene Ressourcenverwaltungsfunktionen, die mehrere ermöglichen Container im selben Host ermöglichen eine freundliche Koexistenz.
Container gelten als schlanke Technologie, da Container nur einen begrenzten Overhead erfordern. Im Vergleich zur herkömmlichen Virtualisierung und Paravirtualisierung benötigen Container keine Emulationsschicht (Emulationsschicht) und keine Verwaltungsschicht (Hypervisorschicht), sondern nutzen die Systemaufrufschnittstelle des Betriebssystems. Dadurch wird der für die Ausführung eines einzelnen Containers erforderliche Overhead reduziert und die Ausführung mehrerer Container auf dem Host ermöglicht.
Trotz ihrer glorreichen Geschichte genießen Container immer noch keine große Anerkennung. Ein sehr wichtiger Grund ist die Komplexität der Containertechnologie: Container selbst sind komplex, schwer zu installieren und schwer zu verwalten und zu automatisieren. Und Docker wurde geboren, um das alles zu ändern.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Docker-Container-Technologie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!