我在任务定义中添加了两个容器
节点容器:
name :nodeAPI
port :exposed 5001
mongoconnection string in the env variable : mongodb://mongo [name of mongo container]
Mongo容器:
name :mongo
port :exposed 27017
运行此任务时,节点容器无法连接到Mongo。我正在使用Fargate和网络作为awsvpc。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果两个容器都在同一“任务定义”中定义,则它们不能使用“本地主机”进行通信。
在您的示例中,您的NodeJs应用将与mongo localhost:27017
答案 2 :(得分:0)
由于Fargate中的每个任务都有自己的ENI,因此,在相同任务定义中的容器之间进行通信的正确方法是调用本地环回127.0.0.1
或localhost
。
例如:
第一个容器将能够使用127.0.0.1:<port of second container>
作为地址与第二个容器进行通信,第二个容器能够使用127.0.0.1:<port of first container>
与第一个容器进行通信
这在AWS Blog:https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/
中有很好的解释。