我想运行两个具有以下资源分配的容器:
- 容器“C1”:保留 cpu1,与 20 个 cpu-shares 共享 cpu2
- 容器“C2”:保留 cpu3,共享 cpu2 与 80 cpu-shares
如果我以这种方式运行这两个容器:
docker run -d --name='C1' --cpu-shares=20 --cpuset-cpus="1,2" progrium/stress --cpu 2
docker run -d --name='C2' --cpu-shares=80 --cpuset-cpus="2,3" progrium/stress --cpu 2
我得到C1按预期占用100%的cpu1,但占cpu2的50%(而不是20%),C2按预期占用100%的cpu3和50%的cpu2(而不是80%)。
看起来 --cpu-shares 选项被忽略了。有没有办法获得我正在寻找的行为?