63 lines
1.2 KiB
YAML
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
|
|
|