Die Docker-Engine ist die Kernsoftware zum Ausführen und Verwalten von Containern. Ihre Hauptkomponenten sind: Docker-Client, Docker-Daemon, Containerd und Runc.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.
1. Einführung in die Docker-Engine
Die Docker-Engine ist die Kernsoftware zum Ausführen und Verwalten von Containern. Die Docker-Engine arbeitet mit vielen speziellen Tools zum Erstellen und Ausführen von Containern zusammen, z. Laufzeit, Shim-Prozess usw.
Die Hauptkomponenten der Docker-Engine sind: Docker-Client, Docker-Daemon, Containerd und Runc.
2. Detaillierte Erklärung der Docker-Engine-
Als Docker zum ersten Mal veröffentlicht wurde, bestand es aus zwei Kernkomponenten: LXC und Docker-Daemon.
Docker-Daemon ist eine einzelne Binärdatei, die Dinge wie Docker-Client, Docker-API, Container-Laufzeit, Image-Erstellung usw. enthält.
- LXC bietet die Möglichkeit, grundlegende Tools wie Namespaces und Kontrollgruppen (CGroup) zu betreiben, bei denen es sich um Containervirtualisierungstechnologien handelt, die auf dem Linux-Kernel basieren. In Docker-Version 0.9 ersetzt Libcontainer LXC als Standardausführungstreiber.
-
- 2.1. Docker-Daemon-Integrität bringt immer mehr Probleme mit sich:
schwierig zu ändern
läuft immer langsamer
Das ist nicht das, was ökologische Unternehmen erwarten
- Der Daemon verwendet ein CRUD -Stil-API zur Kommunikation mit Containerd über gRPC
-
- 2.2. runc
- runc ist im Wesentlichen ein leichtes, interaktives Befehlszeilentool für Libcontainer.
Runc-Funktion: Container erstellen
2.3. Containerd
-
- Hauptfunktion: Container-Lebenszyklusverwaltung – Start|Stop|Pause|rm…
2.4 Implementierung von no Ein unverzichtbares Tool für Daemon-Container. Jedes Mal, wenn runc einen neuen Container erstellt, wird eine neue runc-Instanz erstellt. Sobald der Container erstellt wurde, wird der entsprechende runc-Prozess beendet.
Sobald der Runc des übergeordneten Prozesses beendet wird, wird der zugehörige Container-Shim-Prozess zum übergeordneten Prozess des Containers.
- Ein Teil der Aufgaben des Shims:
Alle STDIN- und STDOUT-Streams geöffnet halten, damit der Container beim Neustart des Daemons geöffnet bleibt Wird aufgrund des Schließens der Leitung nicht beendet.
Feedback des Exit-Status des Containers an den Daemon.
-
- 2.5. Implementierung unter Linux
-
- Docker-Daemon), Docker-Containerd (Containerd), Docker-Containerd-Shim (Shim) und Docker-Runc (Runc) werden alle durch eine separate Binärimplementierung implementiert.
-
2.6. Die Rolle des Daemons
Hauptfunktionen: Bildverwaltung, Bildkonstruktion, REST-API, Authentifizierung, Sicherheit, Kernnetzwerk und Orchestrierung.
Empfohlenes Lernen: „- Docker-Video-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas ist eine Docker-Engine?. 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