0

难以让 Mezzanine 通过 Docker 连接到 Postgresql

在我的 postgresql.conf 中,我有:

listen_addresses = '*'

在我的 pg_hba.conf 我有:

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
host    all             all             samenet                 trust
host    all             all             0.0.0.0/0               md5

我不断收到的错误是:

could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?

我将 settings.py 中的 PORT 设置为 '' 但我在 postgresql.conf 中将 PORT 定义为 5432。

有什么建议么?

4

1 回答 1

2

确保端口映射配置正确https://docs.docker.com/userguide/dockerlinks/ 如果您的应用程序在一个容器中运行,而 postgresql 服务器在另一个容器中运行,您需要将容器链接在一起。
顺便说一句,您尝试通过 localhost 建立连接,并且那里有 md5 身份验证方法。出于调试目的,将身份验证方法更改为信任。您应该在您的 pg_hba.conf 中编辑这一行,而不是添加另一行。

host all all 127.0.0.1/32 md5

调试连接问题的最佳方法是使用 psql 实用程序。

于 2015-06-29T10:23:54.213 回答