【发布时间】:2020-10-08 05:29:44
【问题描述】:
我使用 aws-cdk Python 语言获得了以下代码,但未能部署,出现 redis_container not available 错误,我做错了什么,我希望先启动 redis 容器,然后再启动其余容器。可能我对容器依赖的理解不正确??
ecs_redis_task = ecs.FargateTaskDefinition(self,
id = 'redis',
cpu=512,
memory_limit_mib =1024
)
redis_container = ecs_redis_task.add_container(id = 'redis_container',
image = img_.from_ecr_repository(repository=repo_, tag='redis_5.0.5')
)
redis_container.add_port_mappings({
'containerPort' : 6379
})
redis_dependency = ecs.ContainerDependency(container = redis_container, condition = ecs.ContainerDependencyCondition.HEALTHY)
ecs_webserver_task = ecs.FargateTaskDefinition(self,
id = 'webserver',
cpu=256,
memory_limit_mib =512
)
webserver_container = ecs_webserver_task.add_container(id = 'webserver_container',
image = img_.from_ecr_repository(repository=repo_, tag='airflow_1.10.9')
)
webserver_container.add_port_mappings({
'containerPort' : 8080
})
webserver_container.add_container_dependencies(redis_dependency)
如果我删除依赖代码,它可以正常部署!
错误:
12/24 | 2:46:51 PM | CREATE_FAILED | AWS::ECS::TaskDefinition | webserver (webserverEE139216) Cannot depend on container + 'redis_container' because it does not exist (Service: AmazonECS; Status Code: 400; Error Code: ClientException; Request ID: 81828979-9e65-474e-ab0e-b163168d5613)
【问题讨论】:
-
确切的错误是什么
-
添加了错误,它没有提供太多
-
这是一个不允许的循环依赖。
-
@shariqmaws 你能指出循环依赖在哪里吗?
标签: python amazon-web-services amazon-ecs aws-fargate aws-cdk