Amazon web services docker-compose.yaml定义的AWS ECS任务的软内存限制

Amazon web services docker-compose.yaml定义的AWS ECS任务的软内存限制,amazon-web-services,docker,docker-compose,amazon-ecs,Amazon Web Services,Docker,Docker Compose,Amazon Ecs,Amazon提供了ecs cli compose命令,可以从docker-compose.yaml中设置任务定义 但是我不能为这样的任务声明内存限制(特别是软内存限制)。不支持部署选项 Skipping unsupported YAML option for service... option name=deploy 有没有办法用作曲来达到这个目的?或者使用compose是个坏主意,最好使用本机任务定义 更新 我的撰写文件被要求,这是它 version: '3' services:

Amazon提供了
ecs cli compose
命令,可以从docker-compose.yaml中设置任务定义

但是我不能为这样的任务声明内存限制(特别是软内存限制)。不支持部署选项

Skipping unsupported YAML option for service...  option name=deploy 
有没有办法用作曲来达到这个目的?或者使用compose是个坏主意,最好使用本机任务定义

更新 我的撰写文件被要求,这是它

version: '3'

services:
  worker:
    image: 880289074637.dkr.ecr.us-east-1.amazonaws.com/negative-keywords:latest
    env_file: .env
    command: ["celery", "-A", "negmatch", "worker", "-l", "info"]
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 256M
        reservations:
          cpus: '0.25'
          memory: 128M
  web:
    image: 880289074637.dkr.ecr.us-east-1.amazonaws.com/negative-keywords:latest
    env_file: .env
    ports:
      - "80:8000"
    depends_on:
      - "worker"
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 256M
        reservations:
          cpus: '0.25'
          memory: 128M

您需要使用docker compose的v2来设置值

根据目前的情况,
deploy
仅适用于群集模式部署

正在寻找在非群集模式容器上设置资源的选项

此处描述的选项特定于部署键和swarm 模式如果要在非swarm上设置资源约束 部署,使用。如果您还有其他问题,请参阅 关于GitHub问题的讨论

有关使用v2和v3的更多信息。

下面是docker compose(v2)示例,它设置了任务容器定义的软内存和硬内存限制<代码>内存限制为硬限制,
内存保留
为软限制

命令-

ecs-cli compose --project-name nginx --file docker-compose.yaml create
撰写文件-

version: '2'
services:
  nginx:
    image: "nginx:latest"
    mem_limit: 512m
    mem_reservation: 128m
    cpu_shares: 0
    ports:
      - 80

我编写了docker compose第3版(据我从第3版文档中了解,mem限制应声明为部署/资源…),使用第2版可以作为选项。@farincz您能分享您的第3版示例吗?。ecs cli可能与最新版本的docker compose不兼容。我们可以查一下。当然,我只是把它附加到question@farincz检查我的最新答案。您现在可能想使用v2。