ubuntu

Ubuntu Docker资源限制如何配置

小樊
50
2025-07-01 12:33:35
栏目: 智能运维

在Ubuntu中配置Docker容器的资源限制可以通过以下几种方式进行:

使用 docker run 命令的参数

使用 Docker Compose

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

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

在这个例子中,myservice 服务被限制最多使用1个CPU核心和512MB内存。

使用 systemd 服务文件

如果你通过 systemd 管理 Docker 容器,可以在服务文件中设置资源限制。

[Service]
ExecStart=/usr/bin/docker start -a mycontainer
ExecStop=/usr/bin/docker stop -t 2 mycontainer
Restart=on-failure
CPUQuota=50%
MemoryLimit=512M

使用 cgroups

Docker 底层使用 Linux 的 cgroups 来管理容器的资源限制。你可以直接操作 cgroups 来更细粒度地控制资源分配。

  1. 找到容器的 cgroup 路径:
    docker inspect --format='{{ .HostConfig.CgroupParent }}' <container_id>
    
  2. 进入该路径并编辑相应的 cgroup 文件,例如:
    cd /sys/fs/cgroup/cpu/docker/<container_id>
    echo 200000 > cpu.cfs_quota_us
    echo 100000 > cpu.cfs_period_us
    

注意事项

通过以上方法,你可以在Ubuntu中有效地设置Docker容器的资源限制,确保系统的稳定性和性能。

0
看了该问题的人还看了