cgroups omezuje zdroje, které může proces nebo sada procesů používat, tyto prostředky mohou být CPU, paměť, síťový I/O nebo přístup k souborovému systému zatímco jmenný prostor omezuje viditelnost skupiny procesů na zbytek systému.
navštivte pro další podrobnosti Jak linuxové jádro Cskupiny a jmenné prostory umožnily moderní kontejnery
Správné odkazy pro tyto dva pojmy byly opraveny v PR 14307:
Pod kapotou je Docker postaven na následujících komponentách:
cgroups a
namespaces
schopnosti linuxového jádra
S:
- cgroup :Kontrolní skupiny poskytují mechanismus pro agregaci/rozdělení sad úkolů a všech jejich budoucích potomků do hierarchických skupin se specializovaným chováním.
- jmenný prostor :zabalí globální systémový prostředek do abstrakce, díky níž se procesům v rámci jmenného prostoru jeví, že mají vlastní izolovanou instanci globálního prostředku.
Ve zkratce:
- Cgroups =omezuje množství, které můžete použít;
- jmenné prostory =omezuje to, co můžete vidět (a tedy používat)
Více viz "Anatomy of a Container:Namespaces, cgroups &Some Filesystem Magic" od Jérôme Petazzoniho.
Cgroups zahrnují měření a omezování zdrojů:
- paměť
- CPU
- blokovat I/O
- síť
Jmenné prostory poskytují procesům vlastní pohled na systém
Více jmenných prostorů:
- pid
- síť
- mnt
- uts
- ipc
- uživatel:uživatelé graduje z experimentálního v dockeru 1.10
(probíhá přemapování kořenového adresáře kontejneru podle instance démona na neprivilegovaného uživatele:PR 12648:viz jeho návrh)