2015-09-12 30 views
7

Tôi đã gắn một thành phần theo sau một mô hình quy trình. Quá trình tổng thể tự dồn nhiều lần. Tôi muốn thiết lập một hệ thống phân cấp cgroup bên trong thùng chứa docker để thay đổi giới hạn CPU và bộ nhớ trên cơ sở từng quy trình.Gắn kết các nhóm bên trong một hộp chứa docker

Có cách nào tôi có thể thực hiện việc này mà không sử dụng '--privileged' hoặc 'CAP_SYTEM_ADMIN' không?

Có cách nào tôi có thể làm cho nhóm cgroup mà thùng chứa thuộc về gốc của nhóm phụ mà tôi đang triển khai cho các quy trình không? (Chia tài nguyên được phân bổ cho vùng chứa trong số các quy trình).

Trả lời

4

Kết luận mà tôi đã đến là không có giải pháp hiện tại cho điều này vì Docker không hỗ trợ ảo hóa cgroup cũng như hạt nhân Linux. Chúng ta cần một số hình thức ảo hóa cgroup để thực hiện các nhóm bên trong một thùng chứa.

lxc thực hiện điều này bằng cách sử dụng FUSE dựa trên giải pháp gọi là lxcfs: https://linuxcontainers.org/lxcfs/introduction/

Ngoài ra, có một bản vá kernel hỗ trợ namespace cgroup mà như xa như tôi có thể nhìn thấy chưa được phê duyệt: https://lwn.net/Articles/605903/.

Các vấn đề liên quan