【发布时间】:2019-04-22 16:22:34
【问题描述】:
我已经使用 Docker 在云服务器中安装了 Mainflux。 Postgres DB 也是 在 Docker 容器中运行。我有一种情况要使用 Node.Js(以编程方式)连接到 PostgresDB。我发现“pg”模块连接到云 Postgres 数据库。但是,我无法连接到正在运行的 Postgres 码头集装箱。我在下面粘贴了我的代码,请让我知道连接“Docker Postgres”的场景。
const pg = require('pg');
const conStringPri = postgres://mainflux:mainflux@MYIP/mainflux-things-db;
const Client = pg.Client;
const client = new Client({connectionString: conStringPri});
client.connect();
client.query(CREATE DATABASE DB_Name)
.then(() => client.end());
报错如下:
node:8084) UnhandledPromiseRejectionWarning: 错误: 连接 ECONNREFUSED MYIP:5432 在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14) (节点:8084) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。 此错误源于在异步函数内部抛出 没有 catch 块或拒绝未处理的承诺 .catch()(拒绝 id:1) (节点:8084)[DEP0018] DeprecationWarning:未处理的承诺拒绝是 已弃用。将来,未处理的 Promise 拒绝将 终止 Node.js 进程 非零退出代码。 (节点:8084)UnhandledPromiseRejectionWarning:错误:连接 意外终止 在 Connection.con.once (D:\postgres_Nodejs\node_modules\pg\lib\client.js:200:9) 在 Object.onceWrapper (events.js:313:30) 在 emitNone (events.js:106:13) 在 Connection.emit (events.js:208:7) 在套接字。 (D:\postgres_Nodejs\node_modules\pg\lib\connection.js:76:10) 在 emitOne (events.js:116:13) 在 Socket.emit (events.js:211:7) 在 TCP._handle.close [as _onclose] (net.js:561:12)
【问题讨论】:
标签: node.js postgresql docker express