Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在我的例子中,如何连接到Docker中的数据库?_Node.js_Postgresql_Docker_Docker Compose - Fatal编程技术网

Node.js 在我的例子中,如何连接到Docker中的数据库?

Node.js 在我的例子中,如何连接到Docker中的数据库?,node.js,postgresql,docker,docker-compose,Node.js,Postgresql,Docker,Docker Compose,我正试图通过docker容器连接到我的postgres。我读过 有很多帖子,但似乎仍然无法解决 我运行了以下命令 docker run --name some-postgres -e POSTGRES_PASSWORD=mypw -d -p 5432:5432 postgres 在那之后,我做了docker inspect$(containerID) 我的理解是我可以使用“IPAddress”:“172.17.0.2”连接到数据库 我也是 psql -h 172.17.0.2 -p 5432

我正试图通过docker容器连接到我的postgres。我读过 有很多帖子,但似乎仍然无法解决

我运行了以下命令

docker run --name some-postgres -e POSTGRES_PASSWORD=mypw -d -p 5432:5432 postgres
在那之后,我做了
docker inspect$(containerID)

我的理解是我可以使用
“IPAddress”:“172.17.0.2”
连接到数据库

我也是

psql -h 172.17.0.2 -p 5432 -U postgres
但是,我收到操作超时错误,无法登录到postgres

错误


有人能帮我吗?非常感谢

你没有提到你是如何经营docker的。如果您在工作站上使用它,如Docker for OSx,则必须使用“localhost”进行连接:

psql -h localhost -p 5432 -U postgres
如果在Docker VM或远程主机上运行容器,则需要本地网络中的外部接口IP

psql -h 192.168.99.100 -p 5432 -U postgres
此外,如果PostgreSQL配置为允许远程连接,则必须对此检查“
pg_hba.conf
”并添加

并将:/etc/postgresql/9.1/main/postgresql.conf中的
listen\u地址更改为
listen\u地址='*'

请注意:此设置仅用于测试,会在数据库配置中打开一个漏洞

psql -h localhost -p 5432 -U postgres
psql -h 192.168.99.100 -p 5432 -U postgres
host    all             all             0.0.0.0/0               md5