forked from digitalis-io/postgresql-consul-demo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
119 lines (108 loc) · 3.59 KB
/
docker-compose.yml
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
version: '3.7'
services:
consul01:
image: consul:1.9.3
container_name: consul01
restart: always
volumes:
- ./consul/server1.json:/consul/config/server1.json:ro
- ./consul/certs/:/consul/config/certs/:ro
networks:
- pglab
ports:
- "8500:8500"
- "8600:8600/tcp"
- "8600:8600/udp"
command: "agent -bootstrap-expect=3"
consul02:
image: consul:1.9.3
container_name: consul02
restart: always
volumes:
- ./consul/server2.json:/consul/config/server2.json:ro
- ./consul/certs/:/consul/config/certs/:ro
networks:
- pglab
command: "agent -bootstrap-expect=3"
consul03:
image: consul:1.9.3
container_name: consul03
restart: always
volumes:
- ./consul/server3.json:/consul/config/server3.json:ro
- ./consul/certs/:/consul/config/certs/:ro
networks:
- pglab
command: "agent -bootstrap-expect=3"
patroni01:
build: ./patroni
container_name: patroni01
hostname: patroni01
volumes:
- ./patroni/patroni.yml:/etc/patroni/patroni_template.yml:ro
- ./patroni/certs:/etc/patroni/certs:ro
- ./patroni/supervisor.conf:/etc/supervisor/conf.d/patroni.conf:ro
- ./consul/supervisor.conf:/etc/supervisor/conf.d/consul.conf:ro
- ./consul/agent.json:/consul/config_template.json:ro
- ./consul/certs/:/etc/consul/certs:ro
networks:
- pglab
patroni02:
build: ./patroni
container_name: patroni02
hostname: patroni02
volumes:
- ./patroni/patroni.yml:/etc/patroni/patroni_template.yml:ro
- ./patroni/certs:/etc/patroni/certs:ro
- ./patroni/supervisor.conf:/etc/supervisor/conf.d/patroni.conf:ro
- ./consul/supervisor.conf:/etc/supervisor/conf.d/consul.conf:ro
- ./consul/agent.json:/consul/config_template.json:ro
- ./consul/certs/:/etc/consul/certs:ro
networks:
- pglab
patroni03:
build: ./patroni
container_name: patroni03
hostname: patroni03
volumes:
- ./patroni/patroni.yml:/etc/patroni/patroni_template.yml:ro
- ./patroni/certs:/etc/patroni/certs:ro
- ./patroni/supervisor.conf:/etc/supervisor/conf.d/patroni.conf:ro
- ./consul/supervisor.conf:/etc/supervisor/conf.d/consul.conf:ro
- ./consul/agent.json:/consul/config_template.json:ro
- ./consul/certs/:/etc/consul/certs:ro
networks:
- pglab
application01:
build: ./application
container_name: application01
hostname: application01
volumes:
- ./application/main.py:/main.py:ro
- ./application/dnsmasq.conf:/etc/dnsmasq.d/consul.conf:ro
- ./application/resolv.conf:/etc/resolv.conf:ro
- ./application/supervisor.conf:/etc/supervisor/conf.d/application.conf:ro
- ./application/pgpass:/root/.pgpass:ro
- ./consul/supervisor.conf:/etc/supervisor/conf.d/consul.conf:ro
- ./consul/agent.json:/consul/config_template.json:ro
- ./consul/certs/:/etc/consul/certs:ro
networks:
- pglab
application02:
build: ./application
container_name: application02
hostname: application02
volumes:
- ./application/main.py:/main.py:ro
- ./application/dnsmasq.conf:/etc/dnsmasq.d/consul.conf:ro
- ./application/resolv.conf:/etc/resolv.conf:ro
- ./application/supervisor.conf:/etc/supervisor/conf.d/application.conf:ro
- ./application/pgpass:/root/.pgpass:ro
- ./consul/supervisor.conf:/etc/supervisor/conf.d/consul.conf:ro
- ./consul/agent.json:/consul/config_template.json:ro
- ./consul/certs/:/etc/consul/certs:ro
networks:
- pglab
networks:
pglab:
driver: bridge