78 lines
1.8 KiB
YAML
78 lines
1.8 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=192.168.1.100 -advertise=192.168.1.100 -client=0.0.0.0
|
|
-ui
|
|
-log-level=INFO
|
|
"
|
|
ports:
|
|
- "8500:8500"
|
|
- "8600:8600/udp"
|
|
volumes:
|
|
- consul_master_data:/consul/data
|
|
networks:
|
|
consul-macvlan:
|
|
ipv4_address: 192.168.1.100
|
|
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 "
|
|
consul agent -server -bootstrap-expect=2
|
|
-datacenter=dc1 -data-dir=/consul/data
|
|
-node=consul-ash3c -bind=192.168.1.101 -advertise=192.168.1.101 -client=0.0.0.0
|
|
-retry-join=192.168.1.100
|
|
-ui
|
|
-log-level=INFO
|
|
"
|
|
ports:
|
|
- "8501:8500"
|
|
- "8601:8600/udp"
|
|
volumes:
|
|
- consul_ash3c_data:/consul/data
|
|
networks:
|
|
consul-macvlan:
|
|
ipv4_address: 192.168.1.101
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.hostname == ash3c
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 5s
|
|
max_attempts: 3
|
|
|
|
volumes:
|
|
consul_master_data:
|
|
consul_ash3c_data:
|
|
|
|
networks:
|
|
consul-macvlan:
|
|
driver: macvlan
|
|
driver_opts:
|
|
parent: eth0 # 根据你的网络接口调整
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.1.0/24
|
|
gateway: 192.168.1.1
|
|
ip_range: 192.168.1.100/30 # 只分配 .100-.103 的IP |