2015-09-12 8 views
7

Ich dockte eine Komponente ein, die einem Prozessmodell folgt. Der Master-Prozess gabelt sich mehrmals ab. Ich möchte eine Cgroup-Hierarchie innerhalb des Docker-Containers einrichten, um die CPU- und Speichergrenze pro Prozess zu variieren.Montage von Gruppen in einem Andock-Container

Gibt es eine Möglichkeit, dies zu tun, ohne '--privileged' oder 'CAP_SYTEM_ADMIN' zu verwenden?

Gibt es eine Möglichkeit, die Cgroup, der der Container angehört, als Wurzel des Cgroup-Subsystems, das ich für die Prozesse implementiere, zu erstellen? (Teilen Sie die dem Container zugewiesenen Ressourcen unter den Prozessen auf).

Antwort

4

Die Schlussfolgerung, zu der ich kam, war, dass es keine aktuelle Lösung dafür gibt, da Docker weder die Cgroup-Virtualisierung noch den Linux-Kernel unterstützt. Wir benötigen eine Form der cgroup-Virtualisierung, um cgroups innerhalb eines Containers zu implementieren.

lxc tut dies eine Sicherung basierte Lösung namens lxcfs mit: https://linuxcontainers.org/lxcfs/introduction/

Auch gibt es einen Kernel-Patch, der cgroup Namespaces, die soweit ich nicht genehmigt worden sind sehen unterstützt: https://lwn.net/Articles/605903/.