spring - 找不到使用公共 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 访问正在运行的任务,但事实并非如此。
解决方案
尝试将应用程序设置修改为:
server.address=0.0.0.0
并重新启动任务。任务正在启动,但可能绑定到无法在 Fargate 下运行的 localhost。0.0.0.0 将告诉它绑定到任何 IP 地址。
推荐阅读
- python-3.x - tkinter python 3的输出框异常
- javascript - Javascript - 在每个实例上增加类变量
- excel - VBA代码根据另一张表中的值在Excel中插入值
- python - 无法训练我自己的数据,因为 KeyError: 'height'
- ibm-watson - IBM Watson IoT - 无法使用 ESP8266 从带有参数的主题获取响应
- angular-material - Flexlayout使材质按钮的高度更大
- python - 如何使用 BeautifulSoup 和 Requests 抓取 Instagram 简历?
- opencv - 有比 K 方法更快的聚类方法吗?
- python - 有没有办法将多个组合键绑定到 spyder 快捷键?
- java - 当另一个应用程序(以 Intent 开始)停止时启动我的 Activity