ivy*_*tch 7 spring aws-fargate
我正在创建一个简单的 Spring API,它有一个返回一些数据的 get 调用。我将其放入 docker 容器中,并在本地主机上测试了该容器,它可以正常工作(localhost:8080/getbooks 返回书籍列表)。然后,我将此容器推送到 ECR 并使用任务在 Fargate 上运行它。
我的任务在 Fargate 的集群上列为“正在运行”。但是,当我尝试通过其公共 IP 地址(34.208.216.217:8080/getbooks)访问它时,请求超时。
我尝试在创建任务时将端口 8080 添加到安全组(允许每个人访问它),但这并没有解决任何问题。
这是我的任务详细信息的图片,我从其中获取公共 IP: https: //i.stack.imgur.com/VgE2r.jpg
我希望可以通过列出的公共 IP 访问正在运行的任务,但事实并非如此。
小智 21
您需要确保容器端口正确映射到主机端口,并且您已在安全组中列出主机端口。Fargate 似乎默认将您的主机端口映射为与容器端口相同,并在安全组端口 80 中创建自定义 TCP 端口。
简单的解决方案:
尝试将应用程序设置修改为:
server.address=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
并重新启动任务。任务正在启动,但可能绑定到 localhost,这在 Fargate 下无法工作。0.0.0.0 会告诉它绑定到任何 IP 地址。
归档时间: |
|
查看次数: |
4313 次 |
最近记录: |