Docker AWS ecs-如果其中一个容器退出或终止,则所有容器都将终止(停止)
EnvDocker AWS ecs-如果其中一个容器退出或终止,则所有容器都将终止(停止),docker,amazon-ec2,docker-compose,amazon-ecs,Docker,Amazon Ec2,Docker Compose,Amazon Ecs,Env 自动气象站 Docker版本17.03.1-ce,版本7392c3b/17.03.1-ce 问题 我们的应用程序中有3个docker容器 分贝 数据库种子(数据库迁移脚本运行程序) 应用服务器 DB和app server启动,但是在运行一些迁移脚本之后,一旦DB种子退出(它应该退出)。其余的容器会死亡(停止) 这种奇怪的行为只在AWS ecs中发生,在我的本地docker设置中从未发生过 此外,杀死任何容器都会停止AWS-ECS中的其他容器 我们的docker撰写文件 versi
- 自动气象站
- Docker版本17.03.1-ce,版本7392c3b/17.03.1-ce
- 分贝
- 数据库种子(数据库迁移脚本运行程序)
- 应用服务器
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
这是AWS ecs中的问题还是功能(全部或无)?任务定义中缺少
基本参数。不幸的是,我不知道如何通过docker compose
插入此参数,但这正是导致您在生成的ECS任务中的行为的原因。从文件中:
如果容器的基本参数标记为true
,并且该容器因任何原因失败或停止,则作为任务一部分的所有其他容器都将停止。如果容器的基本参数标记为false
,则其故障不会影响任务中的其余容器。如果省略此参数,则假定容器是必需的
请注意,省略该参数时,该参数默认为true
。如果您的所有任务都缺少该参数,则当其中一个任务退出时,所有任务都会停止
更多信息可在ECS任务定义参数文档中找到:
我知道这不是一个确切的答案,但我希望它有助于确定如何解决您的问题