Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change the resources allocated to a container at run time?

I am aware that I can limit the resources allocated to a container while provisioning using docker with the -c and -m flags for CPU and memory.

However, is there a way I can change these allocated resources to containers dynamically (after they have been provisioned) and without redeploying the same container with changed resources?

like image 244
jobin Avatar asked Nov 28 '14 16:11

jobin


Video Answer


2 Answers

At the time (Docker v1.11.1) has the command docker update (view docs). With this you can change allocated resources on the fly.

Usage:  docker update [OPTIONS] CONTAINER [CONTAINER...]

Update configuration of one or more containers

  --blkio-weight          Block IO (relative weight), between 10 and 1000
  --cpu-shares            CPU shares (relative weight)
  --cpu-period            Limit CPU CFS (Completely Fair Scheduler) period
  --cpu-quota             Limit CPU CFS (Completely Fair Scheduler) quota
  --cpuset-cpus           CPUs in which to allow execution (0-3, 0,1)
  --cpuset-mems           MEMs in which to allow execution (0-3, 0,1)
  --help                  Print usage
  --kernel-memory         Kernel memory limit
  -m, --memory            Memory limit
  --memory-reservation    Memory soft limit
  --memory-swap           Swap limit equal to memory plus swap: '-1' to enable unlimited swap
  --restart               Restart policy to apply when a container exits
like image 103
Alvaro Flaño Larrondo Avatar answered Nov 15 '22 23:11

Alvaro Flaño Larrondo


not at present no - There is a desire to see someone implement it though: https://github.com/docker/docker/issues/6323

like image 45
SvenDowideit Avatar answered Nov 15 '22 23:11

SvenDowideit