Docker容器的资源使用限制
如何設置Docker容器的CPU和內存使用限制
容器布署后數,每個容器占用資源數不同,當資源不夠用時,互相影響,docker提供上資源使用限制功能
docker stats
CONTAINER ? ? ? ? ? CPU % ? ? ? ? ? ? ? MEM USAGE / LIMIT ? ? ? MEM % ? ? ? ? ? ? ? NET I/O ? ? ? ? ? ? BLOCK I/O ? ? ? ? ? PIDS c7bdcdc77786 ? ? ? ?7.04% ? ? ? ? ? ? ? 1.212 GiB / 7.638 GiB ? 15.87% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 8.08 MB / 372 MB ? ?183 da75d82bfa9c ? ? ? ?7.21% ? ? ? ? ? ? ? 1.5 GiB / 7.638 GiB ? ? 19.64% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 9.86 MB / 372 MB ? ?184 4769f05b983c ? ? ? ?7.66% ? ? ? ? ? ? ? 1.225 GiB / 7.638 GiB ? 16.04% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 13.6 MB / 372 MB ? ?187. 通過docker run來限制Docker容器資源
我們可以使用docker run命令直接設置資源限制。這是一個簡單的辦法。但是,該限制于只適用于映像的一次特定執行任務
2.1 Memory 內存限制
例如,讓我們將容器可以使用的內存限制為512mb
我們還可以設置一個軟限制或者叫保留,當docker檢測到主機內存不足時激活:
2.2 CPU 限制
默認情況下,訪問主機的CPU是無限制的,我們可以使用CPUs參數設置cpu限制。例如,讓我們約束容器最多使用兩個cpu:
我們還可以指定CPU分配的優先級。默認值是1024,數字越高優先級越高:
與內存保留,當計算能力不足且需要在競爭進程之間進行分配時,CPU共享起主要作用
使用docker-compose文件來設置容器資源
我們可以使用docker-compose文件來實現類似的結果。請注意,不同版本的docker-compose的格式設置上是不同的
3.1 docker swarm Versions 3 以上的版本
讓我們給Nginx的服務限制是一半的CPU和512m的內存,保留四分之一的CPU和128m的內存。我們需要在我們的服務配置中創建“部署”和“資源”分段:
注:reservations沒有設置cpus的命令
一般情況下容器的cpus使用被限制在一半,內存為512MB ,如果服務器資源緊張的時候,cpus占用變為1/4,內存占用被限制為128MB
如果要使用上述docker-compose.yaml部署應用我們需要使用docker stack命令 , 部署應用到swarm中
docker stack deploy --compose-file docker-compose.yml bael_stack
3.2 docker-compose Version 2 配置方式
在舊版本的docker-compose中,我們可以將資源限制放在與服務的主要屬性相同的級別上。它們的名字也略有不同:
?
總結
以上是生活随笔為你收集整理的Docker容器的资源使用限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql部门人员排序设计_MySQL数
- 下一篇: CODE_BM