docker-compose-swarm.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. version: "3"
  2. services:
  3. consul_node0:
  4. image: consul:1.15
  5. ports:
  6. - "8500:8500"
  7. - "8600:8600/udp"
  8. volumes:
  9. - "./data/node0:/data"
  10. restart: always
  11. command: "consul agent -server -ui -bootstrap-expect=3 -node=consul_node0 -bind '{{ GetInterfaceIP \"eth1\" }}' -data-dir /data -client 0.0.0.0 -datacenter=dc1"
  12. deploy:
  13. replicas: 1
  14. placement:
  15. constraints: [node.role == manager]
  16. consul_node1:
  17. image: consul:1.15
  18. ports:
  19. - "8501:8500"
  20. - "8601:8600/udp"
  21. volumes:
  22. - "./data/node1:/data"
  23. restart: always
  24. command: "consul agent -server -ui -bootstrap-expect=3 -node=consul_node1 -bind '{{ GetInterfaceIP \"eth1\" }}' -data-dir /data -client 0.0.0.0 -datacenter=dc1 -join consul_node0"
  25. depends_on:
  26. - consul_node0
  27. deploy:
  28. replicas: 1
  29. placement:
  30. constraints: [node.role == manager]
  31. consul_node2:
  32. image: consul:1.15
  33. ports:
  34. - "8502:8500"
  35. - "8602:8600/udp"
  36. volumes:
  37. - "./data/node2:/data"
  38. restart: always
  39. command: "consul agent -server -ui -bootstrap-expect=3 -node=consul_node2 -bind '{{ GetInterfaceIP \"eth1\" }}' -data-dir /data -client 0.0.0.0 -datacenter=dc1 -join consul_node0"
  40. depends_on:
  41. - consul_node0
  42. deploy:
  43. replicas: 1
  44. placement:
  45. constraints: [node.role == manager]
  46. # command: "consul agent -dev -client 0.0.0.0"
  47. # firewall-cmd --add-port=8500/tcp --permanent ; firewall-cmd --reload
  48. # docker-compose down ; docker build ./ -t lianshufeng/consul ; docker-compose up