· 9 years ago · Feb 07, 2017, 12:46 PM
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 - /Users/ihorsamusenko/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
20postgres9:
21 image: postgres:9.4
22 ports:
23 - 5432:5432
24 volumes_from:
25 - pg_data
26 environment:
27 POSTGRES_PASSWORD: postgres
28 POSTGRES_USER: postgres
29 PGDATA : /var/lib/postgresql/data/pgdata
30
31pg_data:
32 image: alpine:latest
33 volumes:
34 - /var/lib/postgresql/data/pgdata
35 command: "true"
36
37version: '2'
38
39services:
40 postgres9:
41 image: postgres:9.4
42 expose:
43 - 5432
44 volumes:
45 - data:/var/lib/postgresql/data
46
47volumes:
48 data: {}
49
50$ docker-compose up
51
52$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
53
54$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'create table beer()'
55
56$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
57
58 Access privileges
59 Schema | Name | Type | Access privileges | Column access privileges
60--------+-----------+-------+-------------------+--------------------------
61 public | beer | table | |
62
63$ docker-compose stop
64
65$ docker-compose up
66
67$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
68 Access privileges
69 Schema | Name | Type | Access privileges | Column access privileges
70--------+-----------+-------+-------------------+--------------------------
71public | beer | table | |
72
73$ docker exec -it $(docker-compose ps -q postgres9 ) pg_dump -Upostgres > backup.sql
74
75$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'delete table beer'
76
77$ docker exec -i $(docker-compose ps -q postgres9 ) psql -Upostgres < backup.sql
78
79$ docker exec -it $(docker-compose ps -q postgres9 ) psql -Upostgres -c 'z'
80 Access privileges
81Schema | Name | Type | Access privileges | Column access privileges
82--------+-----------+-------+-------------------+--------------------------
83public | beer | table | |