跳转至

Docker Compose: 限制容器的资源使用

修改 docker-compose.yml

限制资源配置字段为 deploy.resources.limits,以下是示例 docker-compose.yml

docker-compose.yml
version: '3'
services:
  umami:
    image: docker.umami.dev/umami-software/umami:mysql-latest
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 500M
        reservations:
          cpus: '0.25'
          memory: 200M
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: mysql://umami:xxx@127.0.0.1:3306/umami
      DATABASE_TYPE: mysql
      HASH_SALT: replace-me-with-a-random-string
    restart: always
    network_mode: "host"

在以上示例中,Umami 容器的 CPU 使用限制在 25%-50%,内存使用限制在 200MB-500MB。

修改 docker compose 启动命令

传入参数 --compatibility 表示以兼容模式来运行

docker compose --compatibility up -d

参考

如何在Docker Compose中限制容器的CPU和内存使用?