1. 程式人生 > >docker資源分配篇

docker資源分配篇

term 指定 命令 .com cup png 物理 所有 fff

默認情況下,docker容器的資源分配是沒有限制的,宿主機有多少資源他就可以用多少資源,而docker可以限制內存,CPU,IO的資源使用.docker可以在docker run或者docker build的時候設置這些選項,設置的選線和規則如下:
內存
-m 或 --memory :
--memory-swap * :此命令依賴於-m
技術分享圖片
CPU:CPU為按比例分配
--cpus=<value> 使用value核cpu,比如cpu為雙核,可以設置--cpus="1.5",表示有1.5核cpu分配給該容器
--cup-shares :當有多個docker的時候,所有docker按比例分配cpu資源,如果其他docker空閑的話,僅有一個docker繁忙,則他可以用完所有cpu
--cpuset-cpus:指定docker運行在哪個cpu上,比如:4核cpu編號為[0-3]


測試內存,
docker run --name s1 -it --rm -m 256m lorel/docker-stress-ng stress --vm 2
使用以上命令啟動一個最多使用256m內存的容器,雖然進入到容器查看總內存跟物理內存一致,但是使用docker stats s1可以看到最多只能使用256m內存
技術分享圖片


測試CPU
技術分享圖片

設置的CPU為1,所以最多只能使用100%的cpu,每個核心使用約50%
或者指定只使用某個CPU
技術分享圖片

docker資源分配篇