Memory 更新docker中现有容器的内存/CPU限制
我知道我们可以创建一个内存限制如下的容器Memory 更新docker中现有容器的内存/CPU限制,memory,docker,containers,Memory,Docker,Containers,我知道我们可以创建一个内存限制如下的容器 docker run -ti --memory-reservation 1G ubuntu:14.04 /bin/bash 但是如何更新现有容器的内存/CPU限制?目前仅使用Docker无法实现动态资源分配。您必须更新cgroup(控制组)的cpu/内存共享。您必须创建一个新容器来更改Docker的资源限制 动态资源配置有一个简单的方法。建议使用Docker set或Docker update命令将其添加到Docker 1.10中。此命令将允许您在运行
docker run -ti --memory-reservation 1G ubuntu:14.04 /bin/bash
但是如何更新现有容器的内存/CPU限制?目前仅使用Docker无法实现动态资源分配。您必须更新cgroup(控制组)的cpu/内存共享。您必须创建一个新容器来更改Docker的资源限制 动态资源配置有一个简单的方法。建议使用
Docker set
或Docker update
命令将其添加到Docker 1.10中。此命令将允许您在运行时更新容器的配置
如果您在启用了systemd
的系统上运行,您也可以利用该系统来更改cpu或内存共享。可以在中找到一个示例。
谢谢Tom,因为您提到的PR已经合并并发布,@oneklc的答案现在应该是最新的了。这非常有用,尽管不幸的是Windows不支持Windows容器的资源更新
docker update --memory "1g" --cpuset-cpu "1" <RunningContainerNameOrID>
docker update --cpuset-cpus "1" --memory "1g" $(docker ps | awk 'NR>1 {print $1}')