在Ubuntu上,可以通过docker run
命令的参数来限制和分配Docker容器的资源,包括CPU、内存和磁盘I/O等。以下是具体的限制与分配方法:
--cpu-shares
或-c
参数设置容器使用CPU资源的相对权重。权重越高,容器获得的CPU时间越多。例如,设置--cpu-shares 512
表示容器获得的CPU权重为512。--cpus
参数限制容器可以使用的CPU核数。例如,--cpus "1.5"
表示容器可以使用1.5个CPU核心。--cpuset-cpus
参数指定容器只能使用哪些CPU核心。例如,--cpuset-cpus="0,1"
表示容器只能使用CPU核心0和1。-m
或--memory
参数限制容器可以使用的内存量。例如,-m 512m
表示容器最多可以使用512MB的内存。--memory-swap
参数设置容器可以使用的交换空间大小。交换空间的大小依赖于-m
参数设置的内存大小。--device-write-bps
参数限制容器对指定设备的写入速度。在使用docker-compose
时,可以在docker-compose.yml
文件中设置资源限制。例如:
version: '3'
services:
web:
image: nginx
deploy:
resources:
limits:
cpus: '0.50'
memory: 512M
reservations:
cpus: '0.25'
memory: 256M
在这个例子中,web
服务的CPU使用量被限制为50%,内存使用量为512MB,并且保留了25%的CPU和内存资源。
通过上述方法,可以有效地限制和分配Ubuntu Docker容器的资源,确保系统的稳定性和性能。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 如何在Ubuntu启动时自动挂载硬盘