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!