簡體   English   中英

為控制組指定 --cgroup-parent 時出錯

[英]Error specifying --cgroup-parent for a control group

我想創建一個控制組來管理與某些系統管理功能相關的資源。 其中一些在 docker 容器中運行。 當我運行這些 docker 容器時,我希望能夠指定它們所在的 cgroup。

'docker run' 命令有一個選項“--cgroup-parent”,它暗示我應該能夠做到這一點。 然而。 當我嘗試使用此選項運行容器時,出現錯誤。

這可能很重要:我正在使用 cgroups v2

所以首先,我在 /sys/fs/cgroup/system.slice 中創建一個子目錄

mkdir /sys/fs/cgroup/system.slice/mygroup
cd /sys/fs/cgroup/system.slice/mygroup
echo +cpuset +cpu +io +memory +pids > cgroup.subtree_control

然后我嘗試運行 docker 容器

docker run --cgroup-parent=/sys/fs/cgroup/system.slice/test -p 5201-5202:5201-5202 -v /root:/root -it --entrypoint "/bin/bash" docker-stress

在這一點上,我得到了這樣的回應:

docker: Error response from daemon: cgroup-parent for systemd cgroup should be a valid slice named as "xxx.slice".
See 'docker run --help'.

這是使用 Ubuntu 18.04、docker 版本 20.10.07。 也許我不明白 --cgroup-parent 選項的意圖。 我已經搜索了文檔和示例,但我沒有任何運氣。 有誰知道我在這里做錯了什么?

好吧,將此歸結為缺乏經驗。 答案在錯誤消息中。 對於 v2 cgroup,cgroup 父名稱需要命名為 xxx.slice。 例如,如果我們使用 abc.slice,則將創建以下 cgroup 層次結構:

/sys/fs/cgroup/a.slice/ab.slice/abc.slice

docker 容器 cgroup 將在 abc.slice 下創建為 docker-.scope

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM