docker-compose/consul/docker-compose.multi.yml
2022-10-29 06:41:29 +00:00

63 lines
1.2 KiB
YAML

---
version: '3'
# Default consul image
x-consul: &consul
#image: consul:latest
image: consul:1.10
restart: unless-stopped
networks:
- default
environment:
CONSUL_BIND_INTERFACE: eth0
# Roles configuration
x-consul-agent: &consul_agent
<<: *consul
command: "agent -retry-join consul -client 0.0.0.0"
x-consul-server: &consul_server
<<: *consul
command: "agent -server -retry-join consul -client 0.0.0.0"
x-consul-bootstrap: &consul_server_bootstrap
<<: *consul_server
command: "agent -server -bootstrap-expect 3 -ui -client 0.0.0.0"
#ports:
# - "8400:8400"
# - "8500:8500"
# - "8600:8600"
# - "8600:8600/udp"
networks:
default:
services:
consul:
<<: *consul_server_bootstrap
hostname: consul
volumes:
- $app_data_dir/server1:/consul/data
consul-server-1:
<<: *consul_server
hostname: consul-server-1
consul-server-2:
<<: *consul_server
hostname: consul-server-2
consul-agent:
<<: *consul_agent
hostname: consul-agent-0
# consul-agent-1:
# <<: *consul_agent
# hostname: consul-agent-1
#
# consul-agent-2:
# <<: *consul_agent
# hostname: consul-agent-2