debian

Debian系统下Docker资源限制设置

小樊
35
2025-07-14 02:43:02
栏目: 智能运维

在Debian系统下,使用Docker时可以通过多种方式对容器的资源进行限制,包括CPU、内存、磁盘I/O和网络带宽等。以下是一些常用的方法:

1. 使用 docker run 命令的参数

CPU限制

内存限制

磁盘I/O限制

网络带宽限制

2. 使用 docker-compose 文件

如果你使用 docker-compose 来管理容器,可以在 docker-compose.yml 文件中设置资源限制。

CPU和内存限制

version: '3'
services:
  myservice:
    image: ubuntu:latest
    deploy:
      resources:
        reservations:
          cpus: '0.5'
          memory: 256M
        limits:
          cpus: '1'
          memory: 512M

磁盘I/O限制

version: '3'
services:
  myservice:
    image: ubuntu:latest
    deploy:
      resources:
        reservations:
          cpus: '0.5'
          memory: 256M
        limits:
          cpus: '1'
          memory: 512M
        blkio:
          weight: 500

网络带宽限制

version: '3'
services:
  myservice:
    image: ubuntu:latest
    networks:
      my_network:
        aliases:
          - myservice
    deploy:
      resources:
        reservations:
          cpus: '0.5'
          memory: 256M
        limits:
          cpus: '1'
          memory: 512M
        blkio:
          weight: 500

3. 使用 cgroups 直接管理

Docker底层使用 cgroups 来管理资源限制。你可以直接操作 cgroups 文件系统来设置更细粒度的控制。

查看当前的 cgroups 配置

cat /sys/fs/cgroup/cpu/docker/<container_id>/cpu.shares
cat /sys/fs/cgroup/memory/docker/<container_id>/memory.limit_in_bytes

设置 cgroups 配置

echo 512M > /sys/fs/cgroup/memory/docker/<container_id>/memory.limit_in_bytes
echo 512 > /sys/fs/cgroup/cpu/docker/<container_id>/cpu.shares

注意事项

通过以上方法,你可以在Debian系统下有效地对Docker容器进行资源限制。

0
看了该问题的人还看了