2017-04-20 18 views
2

Docker newbie here。AWS EC2インスタンスのDocker PostgreSQLコンテナに接続できません

私はAWS EC2インスタンスにPostgreSQL用ドッキングウィンドウコンテナを作成しようとしています。

まず、私がdata volume containerを使用する永続性を実現しています。ここで私は自分のPostgreSQLデータベースのデータ・ボリューム・コンテナを作成するために使用するコマンドは、次のとおりです。

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

それから私は、PostgreSQLのコンテナを作成するには、次のコマンドを実行します。

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インスタンスの一つにsshed。そして私は上記の同じ流れに従った。その後、PostgreSQLデスクトップクライアントに戻り、接続しようとしました。しかし、私は、次のエラーメッセージが表示されました:

接続が拒否されました。ホスト名とポートが正しく、ポストマスターがTCP/IP接続を受け入れていることを確認します。

ここでは何が欠けていますか?

編集

私はすでにチェックして

listen_addresses='*' 

にpostgresql.confファイル上のlisten_addressesを設定すると、ファイルのpg_hba.confに次の行を追加しました:

host all all 0.0.0.0/0 md5 

答えて

0

postgresql.confを編集し、listen_addressesパラメータを '*'に設定する必要があります。

listen_addresses = '*'

それに応じてpg_hba.confも編集します。

+0

返事のおかげで、私はpostgresql.confのとpg_hba.confのファイルとのlisten_addressesをチェックしましたが、すでに「*」に設定されています。 – hnroot

+0

postgresサーバーが起動していて、実行していますか? –

1

postgresql.confとpg_hba.confはよく見えます。ドッカーはpostgresqlポートを正しく公開します。あなたのEC2インバウンドルールをチェックしてください。おそらく、ポート5432はアクセスが許可されていません。

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューの投稿](/レビュー/低品質の投稿/ 17198392) – cantSleepNow

関連する問題