Nodejs Docker应用无法连接到Postgres DB(ECONNREFUSED 127.0.0.1:5432)

时间:2019-04-17 07:11:46

标签: node.js postgresql docker sequelize.js

我已经对与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应用程序。我在这里只用一个容器。

0 个答案:

没有答案