Mount PostgreSQL Data from Persistent Volume 35/38235/1
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Wed, 26 Jul 2017 18:22:54 +0000 (11:22 -0700)
committerTrevor Bramwell <tbramwell@linuxfoundation.org>
Wed, 26 Jul 2017 23:36:16 +0000 (16:36 -0700)
Each time the postgresql container is torn down the database is lost.
By using a presistent volume managed outside of docker compose, the
postgresql data can persist across updates and service restarts.

The volume needs to exist before the postgres container can start: this
is done with the 'make data' command.

Note: postgres container creates a volume at /var/lib/postgresql/data.
Mounting at this location ensures the data is persisted into the
external volume.

Change-Id: I958ba57fc735c594378d575bc7108bee0d30c1e3
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
tools/pharos-dashboard/Makefile
tools/pharos-dashboard/docker-compose.yml
tools/pharos-dashboard/readme.txt

index e52e15d..9070917 100644 (file)
@@ -10,6 +10,9 @@ start:
 stop:
        docker-compose stop
 
+data:
+       docker volume create --name=pharos-data
+
 shell-nginx:
        docker exec -ti ng01 bash
 
index 16b8c0f..44a263f 100644 (file)
@@ -50,7 +50,7 @@ services:
         env_file: config.env
         volumes:
             - ./config/postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
-            - /var/lib/pharos_dashboard/postgresql:/var/lib/postgresql
+            - pharos-data:/var/lib/postgresql/data
 
     rabbitmq:
         restart: always
@@ -72,3 +72,6 @@ services:
             - rabbitmq
         volumes:
             - ./:/pharos_dashboard
+volumes:
+    pharos-data:
+        external: true
index b21320f..2a25912 100644 (file)
@@ -18,6 +18,7 @@ Deployment:
 - install docker, docker-compose and bower
 - run 'bower install' in ./src/static/ to fetch javascript dependencies
 - run 'make build' to build the containers
+- run 'make data'
 - run 'make up' to run the dashboard
 
 Updating:
@@ -32,4 +33,4 @@ If there is migrations that need user input (like renaming a field), they need t
 
 Logs / Shell access:
 
-- there is some shortcuts in the makefile
\ No newline at end of file
+- there is some shortcuts in the makefile