更新docker中现有容器的内存/ CPU限制
我知道我们可以像这样创build一个内存限制的容器
docker run -ti --memory-reservation 1G ubuntu:14.04 /bin/bash
但如何更新现有容器的内存/ CPU的限制?
Docker更新命令
docker update --memory "1g" --cpuset-cpu "1" <RunningContainerNameOrID>
这将更新“RunningContainerNameOrId”以使用1g的内存,并且只使用cpu核心1
更新所有正在运行的容器以使用核心1和1g内存:
docker update --cpuset-cpus "1" --memory "1g" $(dzdo docker ps | awk 'NR>1 {print $1}')
dynamic资源分配目前仅限于Docker。 你将不得不更新cgroup(控制组)的CPU /内存份额。 你必须创build一个新的容器来改变Docker的资源限制。
有一个Docker GitHub问题的dynamic资源configuration。 这个拉取请求表明,它将被添加到docker set
或docker update
命令docker set
1.10。 该命令将允许您在运行时更新容器的configuration。
如果您在启用了systemd
系统上运行,那么也可以利用它来更改cpu或内存份额。 一个例子可以在这篇博客文章中find。