首页 > 解决方案 > 找不到使用公共 IP 地址在 Fargate 中运行的任务

问题描述

我正在创建一个简单的 Spring API,它有一个返回一些数据的 get 调用。我把它放在一个 docker 容器中,并在我的 localhost 上测试了这个容器,它可以工作(localhost:8080/getbooks 返回一个书籍列表)。然后我将此容器推送到 ECR 并使用任务在 Fargate 上运行它。

我的任务在 Fargate 的集群上列为 RUNNING。但是,当我尝试通过其公共 IP 地址(34.208.216.217:8080/getbooks)访问它时,请求超时。

我尝试在创建任务时将端口 8080 添加到安全组(允许所有人访问它),但这并没有解决任何问题。

这是我的任务详细信息的图片,我从中获取公共 IP:https ://imgur.com/a/WccLJH7

我希望可以通过列出的公共 IP 访问正在运行的任务,但事实并非如此。

标签: springaws-fargate

解决方案


尝试将应用程序设置修改为:

server.address=0.0.0.0

并重新启动任务。任务正在启动,但可能绑定到无法在 Fargate 下运行的 localhost。0.0.0.0 将告诉它绑定到任何 IP 地址。


推荐阅读