└── docker-compose.yml /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.6' 2 | 3 | services: 4 | consul-1: 5 | image: consul:latest 6 | container_name: consul-1 7 | restart: always 8 | network_mode: docker-network-app 9 | command: agent -server -client=0.0.0.0 -bootstrap-expect=3 -node=consul-1 -datacenter=dc1 10 | #volumes: 11 | # - /home/app/consul/conf/acl.json:/home/acl.json 12 | consul-2: 13 | image: consul:latest 14 | container_name: consul-2 15 | network_mode: docker-network-app 16 | restart: always 17 | command: agent -server -client=0.0.0.0 -retry-join=consul-1 -node=consul-2 -datacenter=dc1 18 | #volumes: 19 | # - /home/app/consul/conf/acl.json:/home/acl.json 20 | consul-3: 21 | image: consul:latest 22 | container_name: consul-3 23 | network_mode: docker-network-app 24 | restart: always 25 | command: agent -server -client=0.0.0.0 -retry-join=consul-1 -node=consul-3 -datacenter=dc1 26 | #volumes: 27 | # - /home/app/consul/conf/acl.json:/home/acl.json 28 | consul-client: 29 | image: consul:latest 30 | container_name: consul-client 31 | network_mode: docker-network-app 32 | restart: always 33 | ports: 34 | - 8600:8500 35 | command: agent -client=0.0.0.0 -retry-join=consul-1 -ui -node=client-1 -datacenter=dc1 36 | #volumes: 37 | # - /home/app/consul/conf/acl_client.json:/home/acl_client.json 38 | 39 | --------------------------------------------------------------------------------