wake-up-neo.net

dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

Dieses Zeug wird jetzt wirklich verwirrt. Kann jemand bitte erklären, was los ist. Nur der gerade Einzeiler Unterschied.

  • dockerd
  • libcontainerd
  • containerd
  • docker-containerd
  • docker-runc
  • docker-containerd-ctr
  • docker-containerd-shim

vielen Dank

42
Ijaz Ahmad Khan

dockerd - Der Docker-Daemon selbst. Die Komponente auf höchster Ebene in Ihrer Liste und auch das einzige aufgeführte Docker-Produkt. Bietet alle Nice UX-Funktionen von Docker.

(docker-) containerd - Auch ein Daemon, der einen Unix-Socket überwacht, macht gRPC-Endpunkte verfügbar. Erledigt alle Low-Level-Container-Management-Aufgaben, Speicherung, Image-Verteilung, Netzwerkanbindung usw.

(docker-) containerd-ctr - Eine einfache CLI zur direkten Kommunikation mit containerd. Stellen Sie sich vor, wie Docker Dockerd ist.

(docker-) runc - Eine einfache Binärdatei für die Ausführung von Containern. Beschäftigt sich mit der einfachen Schnittstelle zu Linux-Funktionen wie cgroups, Namespaces usw.

(docker-) containerd-shim - Nachdem runC den Container tatsächlich ausgeführt hat, wird er beendet (sodass wir keine lang laufenden Prozesse für unsere Container haben können). Das Shim ist die Komponente, die sich zwischen containerd und runc befindet, um dies zu erleichtern.

55
johnharris85

Aus der Dokumentation:

runC basiert auf libcontainer, der gleichen Container-Bibliothek, die eine Docker-Engine-Installation versorgt. Vor der Version 1.11 wurde die Docker-Engine zum Verwalten von Volumes, Netzwerken, Containern, Images usw. verwendet. Die Docker-Architektur ist nun in vier Komponenten unterteilt:

Docker engine 
containerd
containerd-shm
runC. 

Die Binaries heißen jeweils:

docker
docker-containerd
docker-containerd-shim
docker-runc.

https://i.stack.imgur.com/lAtSR.png

https://hackernoon.com/docker-containerd-standalone-runtimes-heres-what-you-should-know-b834ef155426

3
Ijaz Ahmad Khan