asp*_*pak 4 amazon-ec2 amazon-ecs docker docker-compose
环境
问题
我们的应用程序中有 3 个 docker 容器。
DB和应用程序服务器启动,但是一旦DB-seed在运行一些迁移脚本后退出(应该如此)。其余的容器死亡(停止)。
这种奇怪的行为只发生在 AWS ecs 中,而不会发生在我的本地 docker 设置中。
此外,杀死任何容器会停止 AWS-ECS 中的其他容器。
我们的 docker compose 文件
version: '2'
services:
db:
image: db-image
hostname: db
cpu_shares: 50
mem_limit: 3758096384
volumes:
- /data/db:/data/db
ports:
- "27017:27017"
db-seed:
image:db-seed
cpu_shares: 10
mem_limit: 504288000
links:
- db
web:
image: server-image
cpu_shares: 50
mem_limit: 3758096384
ports:
- "8080:8080"
links:
- db
Run Code Online (Sandbox Code Playgroud)
这是 AWS ecs 中的问题还是功能(全部或无)?
您essential在任务定义中缺少参数。不幸的是,我不知道通过 插入此参数的方法docker-compose,但这就是导致您在生成的 ECS 任务中出现行为的原因。从文档:
如果容器的基本参数标记为
true,并且该容器因任何原因失败或停止,则属于该任务的所有其他容器都将停止。如果容器的基本参数标记为false,则其失败不会影响任务中的其余容器。如果省略此参数,则假定容器是必不可少的。
请注意,该参数在省略时默认为true。由于所有的任务都缺少参数,但预计他们的行为都停止时,其中一人退出。
更多信息可以在 ECS 任务定义参数文档中找到:http : //docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment
我知道这不是一个确切的答案,但我希望它有助于确定如何解决您的问题。
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |