docker-compose yaml - 传递 'ulimit' 参数 'rtprio' 和 'memlock' 的选项

docker-compose yaml - option to pass the 'ulimit' parameters 'rtprio' and 'memlock'

我在 docker-compose.yaml 中找不到将参数传递给以下 'docker' 参数的选项:

--ulimit rtprio=95 --ulimit memlock=-1

换句话说,我希望用 docker-compose 包装以下命令:

docker run --rm -it --network host --ulimit rtprio=95 --ulimit memlock=-1 --name my_proj image/my_image bash

有一个名为 ulimits: 的每个服务字典。

version: '3'
services:
  my_proj:
    image: image/my_image
    ulimits:
      rtprio: 95
      memlock: -1
    ...

请注意,Docker Compose 与保留 运行 的非交互式服务配合使用效果更好;我会用它来正确启动您的服务,而不一定要在临时容器中获得交互式 shell。

ulimits 已弃用

Note: This replaces the older resource constraint options for non swarm mode in Compose files prior to version 3 (cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit, mem_swappiness), as described in Upgrading version 2.x to 3.x.

(来源:docker.com/compose/compose-file/#resources

deploy:
  resources:
    limits:
      memory: 8g
    reservations:
      memory: 4g