问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

docker-compose限制CPU和内存

创作时间:
作者:
@小白创作中心

docker-compose限制CPU和内存

引用
CSDN
1.
https://blog.csdn.net/zhangkunls/article/details/138263359

本文将介绍如何使用docker-compose限制容器的CPU和内存使用。本文以docker-compose.yml中version 3.x为例。

内存和CPU限制

在docker-compose.yml文件中,可以通过添加service.deploy.resources配置来限制CPU和内存。具体配置如下:

deploy:
  resources:
    limits:
      cpus: "2.00"
      memory: 5G
    reservations:
      memory: 200M

注意:reservations中不支持cpus,仅支持内存。

以下是一个完整的ldap服务配置示例:

version: '3.7'
services:
  openldap:
    image: 10.10.239.54/public/openldap:1.3.0
    container_name: openldap
    environment:
- N9E_NID=22
    ports:
- "389:389"
- "636:636"
    deploy:
      resources:
        limits:
          cpus: "2.00"
          memory: 5G
        reservations:
          memory: 200M
    volumes:
- ./ldap:/var/lib/ldap
- ./slapd.d:/etc/ldap/slapd.d
    restart: always

启动容器

限制指令为deploy.resources.limits这部分,注意节点位置。上面这部分限制的含义是:openldap服务的CPU使用被限制在最多200%的CPU能力,内存使用被限制在最多5GB。同时,这个服务至少需要200MB的内存。

启动命令需要添加--compatibility参数以兼容模式运行,否则限制不会生效:

docker-compose --compatibility up -d

验证

通过上述方法限制容器CPU和内存后,可以使用命令docker stats查看容器资源使用情况。

总结

  • docker-compose.yml限制内存需要添加deploy.resources.limits节点
  • docker-compose命令启动的时候需要添加--compatibility参数以兼容模式来运行,否则限制不会生效

以上就是Docker Compose中限制容器的CPU和内存使用的全部内容。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号