在Ubuntu中,您可以使用Docker的--cpus和--memory选项来限制容器的CPU和内存使用。以下是如何设置这些限制的步骤:
打开终端。
运行Docker容器时,使用--cpus选项来限制CPU使用。例如,如果您想限制容器只能使用一个CPU核心,可以这样运行:
docker run -it --cpus=1 ubuntu:latest /bin/bash
如果您想限制容器使用多个CPU核心,可以将数字更改为所需的核心数。例如,--cpus=2将限制容器使用两个CPU核心。
使用--memory选项来限制内存使用。例如,如果您想限制容器最多使用512MB内存,可以这样运行:
docker run -it --memory=512m ubuntu:latest /bin/bash
您也可以使用--memory-swap选项来同时限制内存和交换空间。例如,--memory-swap=1g将限制容器总共使用1GB的内存和交换空间。
您还可以组合使用--cpus和--memory选项来同时限制CPU和内存使用。例如:
docker run -it --cpus=1 --memory=512m ubuntu:latest /bin/bash
如果您想永久地为您的Docker容器设置资源限制,可以在Docker守护进程的配置文件(通常位于/etc/docker/daemon.json)中添加相应的配置。例如:
{
"default-ulimits": {
"memlock": {
"Name": "memlock",
"Hard": -1,
"Soft": -1
},
"cpu-shares": 512,
"cpu-period": 100000,
"cpu-quota": 50000
}
}
在这个例子中,我们设置了默认的CPU份额、CPU周期和CPU配额。请注意,这些设置将应用于所有新创建的容器。
保存配置文件并重启Docker守护进程以使更改生效:
sudo systemctl restart docker
现在,您的Docker容器将根据设置的资源限制运行。