服务命令的–limit-xxx选项是否限制每个服务或每个容器的资源?
docker 1.12的service create
命令有两个选项来限制cpu和内存,如下所示:
--limit-cpu value Limit CPUs (default 0.000) --limit-memory value Limit Memory (default 0 B)
他们是否限制每个服务或每个容器的资源?
你可以在api / client / service / update.go中看到
taskResources().Limits = &swarm.Resources{} updateInt64Value(flagLimitCPU, &task.Resources.Limits.NanoCPUs)
--limit-cpu
在提交12a00e6中引入了--limit-cpu
考虑到swarmkit / manager / scheduler / nodeinfo.go在删除任务时具有以下代码:
nodeInfo.AvailableResources.NanoCPUs += reservations.NanoCPUs
看来限制cpu是由服务pipe理的每个节点。