在AWS Fargate中链接容器

seb*_*ian 26 amazon-web-services aws-fargate

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

任务定义启动两个容器,但我的app容器失败了getaddrinfo ENOTFOUND db db:3306.因此,我的应用程序容器找不到数据库容器.

由于Fargate不允许Docker容器的"链接",我想知道他们如何相互通信.数据库容器的名称db带有端口3306,我的app容器配置为使用它.

不幸的是,定义容器的链接不适用于Fargate,但仅适用于"oldschool"ECS/EC2.

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

小智 38

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

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

  • 来自 AWS 的更多信息 - https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/ (2认同)