-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose-dns.yml
More file actions
110 lines (101 loc) · 2.63 KB
/
docker-compose-dns.yml
File metadata and controls
110 lines (101 loc) · 2.63 KB
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
name: patroni-workshop
networks:
demo:
services:
consul:
container_name: demo-consul
hostname: consul
image: hashicorp/consul:1.18.2
networks: [ demo ]
command: agent -server -ui -datacenter demo -bootstrap-expect=1 -client=0.0.0.0
ports:
- 8500:8500
- 8600:8600/udp
patroni1:
container_name: demo-patroni1
hostname: patroni1
build: &patroni-dockerfile
context: .
dockerfile: Dockerfile
networks: [ demo ]
environment: &patroni-env
PATRONI_SCOPE: demo
PATRONI_NAME: patroni1
PATRONI_POSTGRESQL_LISTEN: patroni1:5432
PATRONI_POSTGRESQL_CONNECT_ADDRESS: patroni1:5432
PATRONI_RESTAPI_CONNECT_ADDRESS: patroni1:8008
ports:
- 5431:5432
volumes: &patroni-volumes
- "./postgres.yml:/postgres.yml"
patroni2:
container_name: demo-patroni2
hostname: patroni2
build: *patroni-dockerfile
volumes: *patroni-volumes
networks: [ demo ]
environment:
<<: *patroni-env
PATRONI_NAME: patroni2
PATRONI_POSTGRESQL_LISTEN: patroni2:5432
PATRONI_POSTGRESQL_CONNECT_ADDRESS: patroni2:5432
PATRONI_RESTAPI_CONNECT_ADDRESS: patroni2:8008
ports:
- 5432:5432
patroni3:
container_name: demo-patroni3
hostname: patroni3
build: *patroni-dockerfile
volumes: *patroni-volumes
networks: [ demo ]
environment:
<<: *patroni-env
PATRONI_NAME: patroni3
PATRONI_POSTGRESQL_LISTEN: patroni3:5432
PATRONI_POSTGRESQL_CONNECT_ADDRESS: patroni3:5432
PATRONI_RESTAPI_CONNECT_ADDRESS: patroni3:8008
ports:
- 5433:5432
haproxy:
container_name: demo-haproxy
hostname: haproxy
image: haproxy:3.2.6-alpine
restart: always
networks: [ demo ]
ports:
- "5050:5050"
- "5051:5051"
- "9001:9001"
volumes:
- ./haproxy-dns.cfg:/usr/local/etc/haproxy/haproxy.cfg
ivory:
image: veegres/ivory
networks: [ demo ]
hostname: ivory
container_name: demo-ivory
platform: linux/amd64
ports:
- "80:80"
postgres-exporter:
image: prometheuscommunity/postgres-exporter:v0.18.1
networks: [ demo ]
container_name: demo-postgres-exporter
hostname: postgres-exporter
environment:
DATA_SOURCE_NAME: "postgresql://postgres:@haproxy:5050/postgres?sslmode=disable"
ports:
- "9187:9187"
dnsmasq:
image: dockurr/dnsmasq
container_name: demo-dnsmasq
hostname: dnsmasq
environment:
DNS1: "172.21.0.11"
ports:
- "53:53/tcp"
- "53:53/udp"
volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf
networks:
demo:
ipv4_address: 172.21.0.53