Bonjour,
J'ai installé PostgreSQL 9.3 dans un container docker (créé avec docker-compose au démarrage de la machine) Et j'ai quelques difficultés :
- Je n'arrive pas à faire en sorte de garder les données (redémarre la machine ou fait 'docker-compose down && docker-compose up -d' les tables et données que j'ai créé disparaissent)
- Je défini des variable d'environnement dans docker-compose.yml pour créer un utilisateur et un DB, mais ça ne marche pas, la seule DB qui est créée est celle contenu dans le Dockerfile
- Si je crée un volume pour les fichiers de conf, PostgreSQL m'affiche l'erreur ci-dessous
Dockefile :postgres cannot access the server configuration file "/etc/postgresql/9.3/main/postgresql.conf": No such file or directory
docker-compose.yml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 FROM ubuntu:16.04 MAINTAINER Test test <test@example.fr> # Add the PostgreSQL PGP key and repo + install RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list RUN apt-get update && apt-get -y -q install python-software-properties software-properties-common postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 # POSTGRE CONFIG USER postgres RUN /etc/init.d/postgresql start &&\ psql --command "CREATE USER test WITH SUPERUSER PASSWORD 'test';" &&\ createdb -O test test # CONFIG USER root RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf # Expose the PostgreSQL port EXPOSE 5432 # Add VOLUMES to allow backup of config, logs and databases RUN mkdir /home/scripts VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] # Set the default command to run when starting the container USER postgres CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
Code YML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 # je suppose que c'est de la version 1 car aucune version n'est précisée dans le fichier db-postgresql: restart: always image: Firlfire/postgresql:9.3 ports: - 8003:5432 volumes: - ./db/postgre/data:/var/lib/postgresql/data #- ./db/postgre/conf:/etc/postgresql #- ./db/postgre/log:/var/log/postgresql - ./db/postgre/scripts:/home/scripts environment: - DEBUG=false - POSTGRES_USER=Test - POSTGRES_PASSWORD=testpass - POSTGRES_DB=test
Partager