要使用 cgroup 限制 Docker 容器使用的磁盘空间大小,可以按照以下步骤操作:

  1. 确保已启用 cgroup 限制功能,可以通过检查 '/sys/fs/cgroup' 目录是否存在来确认。

  2. 创建一个容器组,并将磁盘限制设置为所需的大小。执行以下命令:

sudo cgcreate -g blkio:docker
sudo cgset -r blkio.throttle.read_bps_device=<major>:<minor> docker
sudo cgset -r blkio.throttle.write_bps_device=<major>:<minor> docker

其中,'' 和 '' 是磁盘设备的主要和次要号码。可以使用 'lsblk' 命令来查找设备的主要和次要号码。

  1. 运行 Docker 容器时,将其分配给刚创建的容器组。可以使用 '--device' 和 '--device-read-bps' 参数来指定容器组和读取限制。例如:
docker run --device=/dev/<device_name> --device-read-bps=/dev/<device_name>:<read_bps> <image_name>

其中,'<device_name>' 是要限制的磁盘设备的名称,'<read_bps>' 是每秒允许的读取速率(以字节为单位)。

这样,Docker 容器就会受到 cgroup 限制,无法超过指定的磁盘空间大小。

Docker 使用 cgroup 限制容器磁盘空间大小

原文地址: https://www.cveoy.top/t/topic/YOo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录