2017-05-08 5 views
0

Ich möchte 2 Container von postgrSQL erstellen, so dass man als DEV und andere wie DEV_STAGE verwendet werden kann.Erstellen mehrerer PostgreSQL-Container im Andockfenster in Fedora

Ich konnte erfolgreich einen Container erstellen und es wurde Port 5432 zugeordnet. Aber wenn ich versuche, den zweiten Container, wird es erstellt (manchmal zeigt den Status als EXITED), aber nicht gestartet wegen das Portnummernproblem.

Die folgenden sind die Befehle, die ich ausgeführt habe. sudo Docker run -v "pwd/data/var/lib/pgsql/data: Z" -POSTGRESQL_USER = user1-POSTGRESQL_PASSWORD = Passwort -e POSTGRESQL_DATABASE = TEST_DB -d -p 5432: 5432 Filzhut/postgresql

sudo docker run -v "pwd/data_stage:/var/lib/pgsql/data_stage: Z" -POSTGRESQL_USER = user1-POSTGRESQL_PASSWORD = Passwort -e POSTGRESQL_DATABASE = TEST_DB -d -p 5432: 5433 Filzhut/postgresql

Ich denke, das Port-Mapping, das ich verwende, ist falsch. Aber nicht in der Lage, den richtigen zu bekommen.

enter image description here

Antwort

0

Danke für die Antwort zu überprüfen. Ich habe den Pfad korrigiert. Ich denke, die Portnummer wird nicht funktionieren. Weil ich bereits einen Container habe, der 5432 zugeordnet ist. Daher kann ich den Port nicht erneut auf 5432 abbilden. Der folgende Befehl mit arbeitete für mich. Zuerst änderte ich den Standardport von Postgres auf 5433 mit der Exportvariable PGPORT = 5433.


sudo docker run -v "`pwd`/data_stg:/var/lib/pgsql/data:Z" -e PGPORT=5433 -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5433 fedora/postgresql 
0

Sie haben einen Fehler in Volumendefinition des zweiten Behälters. Ändern Sie den Pfad nach dem Doppelpunkt nicht. Es ist zwingend erforderlich, dass der Pfad auf /var/lib/pgsql/data festgelegt ist.

Auch Sie Fliped Ports Mapping. Der richtige Befehl ist wie folgt:

sudo docker run -v "`pwd`/data_stage:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5432 fedora/postgresql 

Wenn etwas schief geht Container Protokolle mit docker logs CONTAINER_ID

Verwandte Themen