62 votes

Dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

Ce truc devient vraiment confus maintenant. Est-ce que quelqu'un peut expliquer ce qui se passe. Juste la différence en une seule ligne.

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

merci

73voto

johnharris85 Points 5488

dockerd - Le démon Docker lui-même. Le composant de plus haut niveau de votre liste et aussi le seul produit 'Docker' répertorié. Fournit toutes les fonctionnalités UX agréables de Docker.

(docker-)containerd - Également un démon, écoutant sur une prise Unix, expose des points de terminaison gRPC. Gère toutes les tâches de gestion de conteneurs de niveau inférieur, stockage, distribution d'images, attachement réseau, etc...

(docker-)containerd-ctr - Une interface CLI légère pour communiquer directement avec containerd. Pensez à comment 'docker' est à 'dockerd'.

(docker-)runc - Un binaire léger pour réellement exécuter des conteneurs. Gère l'interface de bas niveau avec les capacités Linux comme les cgroups, les espaces de noms, etc...

(docker-)containerd-shim - Après que runC a réellement exécuté le conteneur, il se termine (ce qui nous permet de ne pas avoir de processus longue durée responsables de nos conteneurs). Le shim est le composant qui se situe entre containerd et runc pour faciliter cela.

0 votes

Voudriez-vous énumérer une source pour ce qui précède ? Merci.

3 votes

Ressources pour ce que font les pièces? Ou comment ils interagissent? Cet article (hackernoon.com/…) est probablement un bon début, bon diagramme en bas.

0 votes

@johnharris85 il semble que Hackernoon ait supprimé le post auquel vous avez lié. Y a-t-il d'autres références qui pourraient être utiles?

14voto

Ijaz Ahmad Khan Points 3236

De la documentation :

runC est construit sur libcontainer qui est la même bibliothèque de conteneurs alimentant l'installation d'un moteur Docker. Avant la version 1.11, le moteur Docker était utilisé pour gérer les volumes, réseaux, conteneurs, images, etc. Maintenant, l'architecture Docker est scindée en quatre composants :

Moteur Docker 
containerd
containerd-shim
runC. 

Les binaires sont respectivement appelés :

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

Image

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

2voto

say_my_name Points 560

Image globale pour une meilleure compréhension ultérieure : (lire d'autres bonnes réponses avant cela)

Architecture

Collection d'images sélectionnées pour une compréhension rapide :

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Sources:

  1. Containerd
  2. blog.caoyu.info
  3. Twitter

Il y a une raison à ce dicton "Une image vaut mille mots"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X