Amazon web services docker-compose.yaml定义的AWS ECS任务的软内存限制
Amazon提供了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:
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。