首页 > 解决方案 > 依赖于 Fargate ECS

问题描述

我有容器 A 这个容器包含我的代理服务,它传递消息并创建一个套接字,我的其他服务连接到该套接字,然后将消息发送到。

我有一个问题,容器 A 必须在容器 B 和 C 之前运行,否则它们无法连接到套接字。

在 ECS / Fargate 中,如果容器 A 出现故障,或者如果容器 A 重新启动以告诉 B 和 C 重新部署,则可以告诉容器 B 和 C 重新启动,以便应用程序再次启动并且它可以成功连接到套接字。

在 docker-compose 中,我可以在设置中使用depends_on,ECS / Fargate 有类似的东西吗?

我试过添加

   "dependsOn": [
        {
            "containerName" : "containerA",
            "condition" : "HEALTHY"
        }
    ]

对于我的任务定义,但它抱怨找不到容器。我的容器都在不同服务中的不同任务定义中。

标签: amazon-web-servicesdockercontainersamazon-ecsaws-fargate

解决方案


是的,AWS ECS 中有一个类似的功能,称为Container Dependency

https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_dependson

为容器启动和关闭定义的依赖项。一个容器可以包含多个依赖项。当为容器启动定义依赖项时,对于容器关闭它是相反的。


推荐阅读