无法连接到AWS EC2实例中的Docker PostgreSQL容器

Docker新手在这里。

我正在尝试在AWS EC2实例中为PostgreSQL创build一个Docker容器。

首先,为了实现持久性,我使用数据卷容器 。 这里是我用来为我的PostgreSQL数据库创build一个数据卷容器的命令:

docker create -v /var/lib/postgresql/data --name postgres9.3.6-data busybox 

然后我运行以下命令来创buildPostgreSQL容器:

 docker run --name postgres9.3.6 \ -p 5432:5432 \ -e POSTGRES_PASSWORD=password \ -e POSTGRES_USER=root \ -e POSTGRES_DB=db_name \ -d --volumes-from postgres9.3.6-data postgres:9.3.6 

我在我的本地环境中运行它,然后尝试通过PostgreSQL桌面客户端连接到它,它工作。 我能够连接到存储在本地PostgreSQL泊坞窗容器中的db_name。

在此之后,我使用了AWS中的一个EC2实例。 并遵循上面描述的相同的stream程。 然后返回到PostgreSQL桌面客户端并尝试连接到它。 但是我收到以下错误信息:

拒绝连接。 检查主机名和端口是否正确,以及postmaster是否接受TCP / IP连接。

我在这里错过了什么?

编辑

我已经检查并将postgresql.conf文件中的listen_addresses设置为

 listen_addresses='*' 

并将以下行添加到pg_hba.conf文件中:

 host all all 0.0.0.0/0 md5 

postgresql.conf和pg_hba.conf看起来不错。 docker运行正确发布postgresql端口。 检查你的EC2入站规则,可能5432端口是不允许被访问的。

您必须编辑postgresql.conf,将listen_addresses参数设置为“*”:

listen_addresses ='*'

也相应地编辑pg_hba.conf。