2017-05-08 3 views
0

Je veux créer 2 conteneurs de postgrSQL de sorte que l'un puisse être utilisé comme DEV et l'autre comme DEV_STAGE.Création de plusieurs conteneurs PostgreSQL dans docker dans fedora

J'ai réussi à créer un conteneur et il a été affecté au port 5432. Mais lorsque j'essaie d'accéder au second conteneur, il est créé (parfois affiché comme EXITED) mais ne démarre pas à cause de le numéro de port.

Ci-dessous sont les commandes que j'ai exécutées. sudo docker run "pwd/data/var/lib/pgsql/data: Z" -e -e POSTGRESQL_USER = user1 POSTGRESQL_PASSWORD = password = -e POSTGRESQL_DATABASE test_db -d -p 5432: 5432 fedora/postgresql

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

Je pense que le mappage de port que j'utilise est incorrect. Mais pas en mesure d'obtenir le bon.

enter image description here

Répondre

0

Merci pour la réponse. J'ai corrigé le chemin. Je pense que renverser le numéro de port ne fonctionnera pas aussi. Parce que j'ai déjà un conteneur qui est mappé à 5432. Donc, je ne peux pas mapper le port à 5432 à nouveau. La commande ci-dessous avec travaillé pour moi. Tout d'abord, j'ai modifié le port par défaut de Postgres à 5433 en utilisant la variable d'exportation 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

Vous avez une erreur dans la définition du volume du second récipient. Ne pas modifier le chemin après le deux-points, il est obligatoire que le chemin est défini sur /var/lib/pgsql/data.

Vous avez également inversé le mappage des ports. La commande correcte est comme ceci:

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 

Si quelque chose va mal inspectent les journaux de conteneurs avec docker logs CONTAINER_ID