如何在运行时更改docker容器的内存和CPU限制?我的意思是在容器运行时我想更改内存限制,例如
提前致谢
答案 0 :(得分:4)
您无法在正在运行的容器中更改它,您必须在主机上执行此操作。
你如何在主机上执行此操作取决于你的host-os,在Linux上我建议看一下 cgroups ,这就是docker内部如何限制容器。
在 ubuntu 上,您可以使用 cgroup manager cgm (在ubuntu 15.04上试用过它)。
> # cgm create cpu dudecpu > # cgm movepid cpu dudecpu 28433 > # cgm setvalue cpu dudecpu cpu.shares 512
> cgm create memory dudemem > cgm movepid memory dudemem 28433 > cgm setvalue memory dudemem memory.limit_in_bytes 1000000000
> find /sys/fs/cgroup/ -name "dude*" > /sys/fs/cgroup/memory/user.slice/user-1000.slice/session-c3.scope/dudemem > /sys/fs/cgroup/cpu,cpuacct/user.slice/user-1000.slice/session-c3.scope/dudecpu