Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 更新docker中现有容器的内存/CPU限制_Memory_Docker_Containers - Fatal编程技术网

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}')