首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Docker容器parse-server连接到主机Postgresql DB?

如何从Docker容器parse-server连接到主机Postgresql DB?
EN

Stack Overflow用户
提问于 2020-07-31 13:04:13
回答 1查看 207关注 0票数 0

我已经安装了一个带有docker的parse-server实例。我的数据库在主机上,但当我运行docker时,它显示为error on connecting to the DB.

代码语言:javascript
复制
docker run -t -d --name parse-server parseplatform/parse-server --appName appname --appId appid--masterKey masterkey --clientKey clientkey --databaseURI postgres://example:1234563@localhost/parse-server --serverURL http://sync.example.com:1337/parse --verbose --publicServerURL http://sync.example.com

我得到了这个错误:

代码语言:javascript
复制
Error: connect ECONNREFUSED 127.0.0.1:5432
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 5432
}

我尝试使用--network host,但是解析服务器使用这个docker给出了{"error":"unauthorized"}

我也尝试使用-o 5432:5432,但它显示端口已使用,因为实例在主机上运行。

如果不使用--network host,如何从docker解析服务器连接到主机上的PostgreSQL

EN

回答 1

Stack Overflow用户

发布于 2020-07-31 15:16:49

问题是127.0.0.1不是你的主机本地主机地址,而是docker的本地主机地址。

因此,您有不同的选择,但尝试将解析服务器连接到通过docker网络连接的主机地址:172.17.0.X可能更好。

在您的主机上执行ifconfig并查看您的docker网络的IP地址,然后尝试将其放入您的命令中:

代码语言:javascript
复制
docker run -t -d --name parse-server parseplatform/parse-server --appName appname --appId appid--masterKey masterkey --clientKey clientkey --databaseURI postgres://example:1234563@YOUR_HOST_IP_IN_DOCKER_INTERFACE/parse-server --serverURL http://sync.example.com:1337/parse --verbose --publicServerURL http://sync.example.com

你可以去Setup a docker container to work with local database看看

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63186064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档