首页 > 解决方案 > 如何在 docker compose 2.4 版中指定 CPU 限制

问题描述

我正在使用 docker compose 2.4 版,我想在我的 .yml 文件中添加附加设置

据我所知,我们可以限制容器消耗 CPU ,

所以我想知道在我的 docker 容器中指定 CPU 限制所需的正确语法是什么

据我了解,版本 3 的 CPU 限制是这样的

limits:
          cpus: '0.001'

但我不确定是否也适合 2.4 版本?

这是我的 docker 容器文件的示例

more  docker.kafka-exporter.yml
---
version: '2.4'
services:
  kafka-exporter:
    mem_limit: "612m"
    image: kafka-exporter:v1.2.0
    restart: always
    network_mode: host
    container_name: kafka-exporter
    command: ["--kafka.server=kafka01.sys65.com:6667"]ump 
    ports:
      - 9308:9308
    logging:
      driver: "json-file"
      options:
        max-size: "15m"
        max-file: "1"

注意:我们要添加 CPU 限制的原因是,当 docker 容器启动时,我们会注意到一个奇怪的行为,即高 CPU 负载 Avrg

链接

https://www.baeldung.com/ops/docker-memory-limit

https://docs.docker.com/config/containers/resource_constraints/#configure-the-default-cfs-scheduler

https://www.hezser.de/blog/2020/12/27/docker-compose-vs-cpu-limit/

https://docs.scylladb.com/operating-scylla/procedures/tips/best-practices-scylla-on-docker/

标签: linuxdockerdocker-composerhel7

解决方案


https://docs.docker.com/compose/compose-file/compose-file-v2/中所述cpus,自2.2版起可用:

官方指南截图


推荐阅读