我已经对与Postgres DB通信的Nodejs应用程序进行了docker化(托管在AWS上-这是 not dockerized)。我的ORM是Sequelize。
先运行docker docker build -t my-app
然后运行docker run -p 80:3000 f0c310cd4456
,我可以看到应用程序成功启动并连接到数据库
Server Running On Port 3000
Executing (default): SELECT 1+1 AS result
Connection has been established successfully.
最后一行确认dockerized nodejs应用已连接到AWS上的Postgres DB。
我的问题是,当我尝试通过浏览器使用该应用程序并访问数据库(即插入一行)时,出现了Sequelize连接错误:
SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:5432
我觉得很奇怪,因为我没有在应用程序中的任何地方将127.0.0.1:5432
指定为数据库地址,并且当我通过docker容器启动并运行该应用程序时,它说它可以连接。为什么在我使用该应用程序时会失败?
我已经看过其他与此类似的问题,但是它们似乎都处理了与dockerized postgres db通信的容器化nodejs应用程序。我在这里只用一个容器。