-
Notifications
You must be signed in to change notification settings - Fork 8
/
docker-compose.yml
95 lines (87 loc) · 2.26 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
version: '3.1'
services:
# proxysql
proxysql:
image: perconalab/proxysql
networks:
# galera network is a private network where all containers in swarm can connect
- galera
# using "outside" net enable to access proxysql from other containers or clients external from galera net, like mysql client.
- outside
ports:
- "3306:3306"
- "6032:6032"
env_file: proxysql.env
deploy:
mode: replicated
replicas: 1
labels: [APP=proxysql]
# service restart policy
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
# service update configuration
update_config:
parallelism: 1
delay: 10s
failure_action: continue
monitor: 60s
max_failure_ratio: 0.3
# placement constraint - in this case on 'worker' nodes only
placement:
constraints: [node.role == manager]
# service discovery
galera_etcd:
image: quay.io/coreos/etcd
command: etcd
volumes:
# note: to test on windows change the path to this
#- ./usr/share/ca-certificates/:/etc/ssl/certs
- /usr/share/ca-certificates/:/etc/ssl/certs
env_file: etcd.env
networks:
- galera
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
# mysql database cluster
percona-xtradb-cluster:
image: percona/percona-xtradb-cluster:5.7
networks:
- galera
env_file: galera.env
volumes:
- /var/lib/mysql-percona-cluster:/var/lib/mysql
deploy:
mode: global
labels: [APP=pxc]
# service restart policy
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
# service update configuration
update_config:
parallelism: 1
delay: 10s
failure_action: continue
monitor: 60s
max_failure_ratio: 0.3
# placement constraint - in this case on 'worker' nodes only
placement:
constraints: [node.role == worker]
networks:
outside:
galera:
# Use a custom driver
driver: overlay
internal: true
ipam:
driver: default
config:
- subnet: 10.20.1.0/24