· 8 years ago · Jul 25, 2018, 05:12 AM
1db:
2 image: postgres:9.4
3 ports:
4 - 5432:5432
5 environment:
6 POSTGRES_PASSWORD: postgres
7 POSTGRES_USER: postgres
8 PGDATA : /var/lib/postgresql/data
9 volumes:
10 - /projects/own/docker_php/pgdata:/var/lib/postgresql/data
11
12db_1 | initdb: directory "/var/lib/postgresql/data" exists but is not empty
13db_1 | If you want to create a new database system, either remove or empty
14db_1 | the directory "/var/lib/postgresql/data" or run initdb
15db_1 | with an argument other than "/var/lib/postgresql/data".
16
17FROM postgres:9.4
18COPY pgdata /var/lib/postgresql/data
19
20version: '2'
21
22services:
23 postgres9:
24 image: postgres:9.4
25 expose:
26 - 5432
27 volumes:
28 - data:/var/lib/postgresql/data
29
30volumes:
31 data: {}
32
33$ docker-compose up
34
35$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
36
37$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'create table beer()'
38
39$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
40
41 Access privileges
42 Schema | Name | Type | Access privileges | Column access privileges
43--------+-----------+-------+-------------------+--------------------------
44 public | beer | table | |
45
46$ docker-compose stop
47
48$ docker-compose up
49
50$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
51 Access privileges
52 Schema | Name | Type | Access privileges | Column access privileges
53--------+-----------+-------+-------------------+--------------------------
54public | beer | table | |
55
56$ docker exec -it $(docker-compose ps -q postgres9 ) pg_dump -Upostgres > backup.sql
57
58$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'drop table beer'
59
60$ docker exec -i $(docker-compose ps -q postgres9 ) psql -Upostgres < backup.sql
61
62$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
63 Access privileges
64Schema | Name | Type | Access privileges | Column access privileges
65--------+-----------+-------+-------------------+--------------------------
66public | beer | table | |
67
68postgres9:
69 image: postgres:9.4
70 ports:
71 - 5432:5432
72 volumes_from:
73 - pg_data
74 environment:
75 POSTGRES_PASSWORD: postgres
76 POSTGRES_USER: postgres
77 PGDATA : /var/lib/postgresql/data/pgdata
78
79pg_data:
80 image: alpine:latest
81 volumes:
82 - /var/lib/postgresql/data/pgdata
83 command: "true"