cgroups limite les ressources qu'un processus ou un ensemble de processus peut utiliser ces ressources peuvent être CPU,Mémoire,E/S réseau ou accès au système de fichiers tandis que l'espace de noms limite la visibilité du groupe de processus au reste du système.
visitez pour plus de détails Comment les Cgroups et les espaces de noms du noyau Linux ont rendu les conteneurs modernes possibles
Les liens appropriés pour ces deux notions ont été corrigés dans PR 14307 :
Sous le capot, Docker est construit sur les composants suivants :
Les cgroups et
namespaces
capacités du noyau Linux
Avec :
- cgroup :Les groupes de contrôle fournissent un mécanisme pour agréger/partitionner des ensembles de tâches, et tous leurs futurs enfants, en groupes hiérarchiques avec un comportement spécialisé.
- espace de noms :enveloppe une ressource système globale dans une abstraction qui fait apparaître aux processus au sein de l'espace de noms qu'ils ont leur propre instance isolée de la ressource globale.
En bref :
- Groupes C =limite la quantité que vous pouvez utiliser ;
- espaces de noms =limite ce que vous pouvez voir (et donc utiliser)
Pour en savoir plus, consultez "Anatomie d'un conteneur :espaces de noms, groupes de contrôle et magie du système de fichiers" par Jérôme Petazzoni.
Les Cgroups impliquent le comptage et la limitation des ressources :
- mémoire
- Processeur
- Bloquer les E/S
- réseau
Les espaces de noms fournissent aux processus leur propre vue du système
Plusieurs espaces de noms :
- pid
- net
- mois
- uts
- ipc
- utilisateur :utilisateurs il est diplômé d'expérimental dans docker 1.10
(le remappage par instance de démon de la racine du conteneur vers un utilisateur non privilégié est en cours :PR 12648 :voir sa conception)