service create
docker 1.12的命令有两个限制cpu和内存的选项,如下:
--limit-cpu value Limit CPUs (default 0.000)
--limit-memory value Limit Memory (default 0 B)
他们是否限制每个服务或每个容器的资源?
你可以看到在api/客户端/服务/update.go https://github.com/docker/docker/blob/e2a26744f987199dca7eacf93e3e236764c87f5e/api/client/service/update.go#L132-L135
taskResources().Limits = &swarm.Resources{}
updateInt64Value(flagLimitCPU, &task.Resources.Limits.NanoCPUs)
--limit-cpu
被介绍于提交 12a00e6 https://github.com/docker/docker/commit/12a00e60177ca42bfb1dd9ebd5dce1c7039da6dd
考虑到swarmkit/manager/scheduler/nodeinfo.go https://github.com/docker/docker/blob/0ef720ededc24018ce1f727814b1a9ae93897891/vendor/src/github.com/docker/swarmkit/manager/scheduler/nodeinfo.go#L36删除任务时,有以下代码:
nodeInfo.AvailableResources.NanoCPUs += reservations.NanoCPUs
看来 limit-cpu 是由服务管理的每个节点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)