Docker Swarm(九)资源限制
资源限制
docker run
針對限制容器資源有許多設置選項,但Swarm中的 docker service
是另一回事,目前只有cpu和memory的選項可以操作。
如果 docker 找不到足夠的資源來部署service,該service會進入Pending的狀態,然後持續kill、recreate的流程直到找到資源為止。
- reserve:预定资源,是一種承诺,例如主機有4 CPU,如果把某個service的CPU資源設為4,其他service將無法取得任何CPU資源。
- limit:限制资源,最多可使用的资源。
示例:
docker service create --reserve-memory 800M --limit-memory 1024M --reserve-cpu 1 --limit-cpu 1.5 masl
预定800M内存,最大可使用1G内存;预定1个cpu,最大可使用1.5个cpu
示例(更新):
docker service update --limit-cpu 0.5 --limit-memory 2G masl docker service update --limit-cpu 3 --limit-memory 1g masl docker service update --limit-cpu 2 --limit-memory 100m masl