在AWS Fargate中链接容器

时间:2017-12-04 16:17:47

标签: amazon-web-services aws-fargate

我尝试在AWS Fargate上设置一个小例子,并尝试在那里安装一个带有一个数据库容器的应用程序容器。

任务定义启动两个容器,但我的app容器失败并显示WebView。 因此,我的应用程序容器找不到数据库容器。

由于Fargate不允许使用Docker容器的“链接”,我想知道他们如何相互通信。 数据库容器的名称为getaddrinfo ENOTFOUND db db:3306,端口为db,我的应用容器已配置为使用此功能。

不幸的是,定义容器的链接不适用于Fargate,但只适用于“oldschool”ECS / EC2。

在本地的docker-compose设置中,它正在以这种方式工作。

2 个答案:

答案 0 :(得分:33)

Fargate任务中的容器共享网络命名空间,因此您根本不需要使用链接。您只需通过localhost进行通信即可。

例如,如果容器A在端口8000上运行Web服务器,则容器B可以使用curl http://localhost:8000/

到达它

答案 1 :(得分:0)

您可以对其进行设置,以便服务可以通过公共IP地址相互通信,然后使用VPC保护端口,只有服务可以自行通信。