68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
consul-master:
|
|
image: consul:latest
|
|
hostname: consul-master
|
|
command: >
|
|
sh -c "
|
|
consul agent -server -bootstrap-expect=2
|
|
-datacenter=dc1 -data-dir=/consul/data
|
|
-node=consul-master -bind=100.117.106.136 -advertise=100.117.106.136 -client=0.0.0.0
|
|
-ui
|
|
-log-level=INFO
|
|
"
|
|
ports:
|
|
- "8500:8500"
|
|
- "8600:8600/udp"
|
|
- "8301:8301"
|
|
- "8302:8302"
|
|
volumes:
|
|
- consul_master_data:/consul/data
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.hostname == master
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 5s
|
|
max_attempts: 3
|
|
|
|
consul-ash3c:
|
|
image: consul:latest
|
|
hostname: consul-ash3c
|
|
command: >
|
|
sh -c "
|
|
ASH3C_IP=$$(getent hosts ash3c | awk '{print $$1}');
|
|
consul agent -server -bootstrap-expect=2
|
|
-datacenter=dc1 -data-dir=/consul/data
|
|
-node=consul-ash3c -bind=$$ASH3C_IP -advertise=$$ASH3C_IP -client=0.0.0.0
|
|
-retry-join=100.117.106.136
|
|
-ui
|
|
-log-level=INFO
|
|
"
|
|
ports:
|
|
- "8501:8500"
|
|
- "8601:8600/udp"
|
|
- "8311:8301"
|
|
- "8312:8302"
|
|
volumes:
|
|
- consul_ash3c_data:/consul/data
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.hostname == ash3c
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 5s
|
|
max_attempts: 3
|
|
depends_on:
|
|
- consul-master
|
|
|
|
volumes:
|
|
consul_master_data:
|
|
consul_ash3c_data: |