Vous n'êtes pas identifié(e).

#1 25/01/2017 14:55:10

pcouas
Membre

creation base de donnee et creation de tables lors du premier demarrag

Bonjour,

Est t'il possible de creer une DATABASE et des tables lors du premier demarrage de postgres uniquement ?

Merci

Hors ligne

#2 25/01/2017 15:55:23

rjuju
Administrateur

Re : creation base de donnee et creation de tables lors du premier demarrag

Non.  Quel est le problème que vous cherchez à résoudre ?

Hors ligne

#3 25/01/2017 20:44:08

pcouas
Membre

Re : creation base de donnee et creation de tables lors du premier demarrag

Bonsoir

En fait postgres est dans un Docker sur Windows host et lorsque je build mon docker je voudrais initialiser une database
J'ai essayé, et je voyais les log du CREATE DATABASE, mais lorsque je me connect ensuite ma database n'existe pas ?

Hors ligne

#4 25/01/2017 22:33:45

rjuju
Administrateur

Re : creation base de donnee et creation de tables lors du premier demarrag

Pour docker, je vous conseille d'utiliser une des images postgres officielles.  Elle sont construite de telle façon qu'à la création de l'instance tout fichier contenu dans le répertoire «/docker-entrypoint-initdb.d/ » (enfin, les fichier .sh, .sql et .sql.gz) sera exécuté(voir https://github.com/docker-library/postg … t.sh#L103).  Cela devrait couvrir votre besoin.

Pour le reste, pour le peu que j'ai utilisé docker je n'ai pas rencontré de problème particulier à ce niveau là.

Hors ligne

#5 25/01/2017 23:19:25

gleu
Administrateur

Re : creation base de donnee et creation de tables lors du premier demarrag

SI vous voulez plus d'aide, il faudra donner beaucoup plus d'informations. Les logs dont vous parlez par exemple, le message d'erreur que vou savez en vous connectant, etc, etc.


Guillaume.

Hors ligne

#6 26/01/2017 07:06:22

pcouas
Membre

Re : creation base de donnee et creation de tables lors du premier demarrag

Bonjour

Etant sous Centos7 j'ai utilisé celui ci
https://github.com/CentOS/CentOS-Docker … es/centos7
Les sql sous docker-entrypoint-initdb.d sont executé une seule fois puis supprimé automatiquement ?

Merci

Hors ligne

#7 27/01/2017 08:23:22

pcouas
Membre

Re : creation base de donnee et creation de tables lors du premier demarrag

Bonjour

J'ai modifié mon bash de demarrage de postgres afin que le dump de la base postgres ne soit fait que si il n'y a pas de tables existante.
Cela fonctionne tant que je ne quitte pas docker, meme si j'arrete postgres et que je le redemarre
Par contre des que je ferme docker les données sont perdu ?
Une idee ?

Merci

Dernière modification par pcouas (27/01/2017 08:25:08)

Hors ligne

#8 27/01/2017 10:15:01

rjuju
Administrateur

Re : creation base de donnee et creation de tables lors du premier demarrag

pcouas a écrit :

Etant sous Centos7 j'ai utilisé celui ci
https://github.com/CentOS/CentOS-Docker … es/centos7
Les sql sous docker-entrypoint-initdb.d sont executé une seule fois puis supprimé automatiquement ?

Je ne connais pas cette image, et à priori elle ne dispose pas de la fonctionnalité dont je parlais sur les images docker postgres officielles.  Si vous voulez la fonctionnalité, changez d'image de base ou rajouter là.

J'ai modifié mon bash de demarrage de postgres afin que le dump de la base postgres ne soit fait que si il n'y a pas de tables existante.
Cela fonctionne tant que je ne quitte pas docker, meme si j'arrete postgres et que je le redemarre
Par contre des que je ferme docker les données sont perdu ?
Une idee ?

Comment lancez-vous votre image docker ?

Hors ligne

#9 27/01/2017 19:36:29

pcouas
Membre

Re : creation base de donnee et creation de tables lors du premier demarrag

Bonsoir

Je fais un
#docker run -p 22:22 -p 8081:8081 -p 1521:1521 -p 5432:5432 -p 9000:9000 -p 9990:9990 -p 4447:4447 -p 8084:8084 5fin
5 fin etant le nom de mon image docker

Dernière modification par pcouas (27/01/2017 19:43:19)

Hors ligne

#10 27/01/2017 19:57:52

rjuju
Administrateur

Re : creation base de donnee et creation de tables lors du premier demarrag

Votre problème vient de là. docker run créé un nouveau container à partir de votre image, donc vous créez un nouveau container à chaque fois.  faites docker ps -a et vous devriez voir un nombre impressionnant de container smile


Je vous conseille plutôt pour le premier démarrage :

docker run -p .... --name mon_pg 5fin

puis pour tous les autres :

docker start mon_pg

Hors ligne

#11 28/01/2017 15:30:36

pcouas
Membre

Re : creation base de donnee et creation de tables lors du premier demarrag

Bonjour

Super Merci, sujet clos
JasperServer  avec JBOSS et Postgres 9.5 fonctionne desormais sous Docker depuis une image de Centos7
En plus j'ai mis Oracle XE11 et Sonar

Cool

Hors ligne

Pied de page des forums