2017-04-20 4 views
2

Docker Neuling hier.Keine Verbindung zum Docker PostgreSQL Container in AWS EC2 Instanz

Ich versuche, einen Docker-Container für PostgreSQL in AWS EC2-Instanz zu erstellen.

Erstens, um Persistenz zu erreichen, verwende ich data volume container. Hier ist der Befehl, den ich verwenden, um ein Datenvolumen Container für meine PostgreSQL-Datenbank zu erstellen:

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

Dann laufe ich den folgenden Befehl in die PostgreSQL-Container zu erstellen:

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 

Ich laufe dies in meiner lokalen Umgebung und versuchte dann, sich über einen PostgreSQL-Desktop-Client mit ihm zu verbinden, und es funktionierte. Ich konnte eine Verbindung zu dem db_name herstellen, der im lokalen PostgreSQL-Andockcontainer gespeichert ist.

Danach habe ich in einer meiner EC2-Instanzen in AWS. Und folgte dem gleichen Fluss, den ich oben beschrieben habe. Dann kehrte er zum PostgreSQL-Desktop-Client zurück und versuchte, eine Verbindung zu ihm herzustellen. Aber ich habe die folgende Fehlermeldung erhalten:

Verbindung abgelehnt. Überprüfen Sie, ob der Hostname und der Port korrekt sind und ob der Postmaster TCP/IP-Verbindungen akzeptiert.

Was fehlt mir hier?

bearbeiten

Ich habe bereits überprüft und stellen Sie die listen_addresses auf postgresql.conf Datei zu

listen_addresses='*' 

und den beigefügten die folgende Zeile Datei pg_hba.conf:

host all all 0.0.0.0/0 md5 

Antwort

0

Sie müssen postgresql.conf bearbeiten und den Parameter listen_addresses auf '*' setzen:

listen_addresses = '*'

Bearbeiten Sie auch pg_hba.conf entsprechend.

+0

Danke für die Antwort, aber ich habe die postgresql.conf und pg_hba.conf Dateien überprüft und listen_addresses ist bereits auf '*' gesetzt. – hnroot

+0

Sind Sie sicher, dass der Postgres-Server läuft und läuft? –

1

Die postgresql.conf und pg_hba.conf sehen gut aus. Der Docker läuft korrekt PostgreSQL-Port veröffentlichen. Überprüfen Sie Ihre EC2-Eingangsregel, wahrscheinlich darf Port 5432 nicht zugegriffen werden.

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/17198392) – cantSleepNow

Verwandte Themen