如何设置Docker容器的CPU和内存使用限制
1. 概述
在很多情况下,我们需要限制docker主机上资源的使用。
在本教程中,我们将学习如何设置docker容器的内存和CPU限制
2. 通过docker run来限制Docker容器资源
我们可以使用docker run命令直接设置资源限制。这是一个简单的办法。但是,该限制于只适用于映像的一次特定执行任务
2.1 Memory 内存限制
例如,让我们将容器可以使用的内存限制为512mb
docker run -m 512m nginx
我们还可以设置一个软限制或者叫保留,当docker检测到主机内存不足时激活:
docker run -m 512m --memory-reservation=256m nginx
2.2 CPU 限制
默认情况下,访问主机的CPU是无限制的,我们可以使用CPUs参数设置cpu限制。例如,让我们约束容器最多使用两个cpu:
docker run --cpus=2 nginx
我们还可以指定CPU分配的优先级。默认值是1024,数字越高优先级越高:
docker run --cpus=2 --cpu-shares=2000 nginx
与内存保留,当计算能力不足且需要在竞争进程之间进行分配时,CPU共享起主要作用