version: "3"
services:

#
# Deploying a Consul cluster using this file assumes that overlay network 'voltha_net'
# has already been created. To deploy the cluster, issue the command:
#
#     docker stack deploy -c docker-compose-consul-cluster.yml consul
#
# This command will create overlay network 'consul_net'.
#

  consul:
    image: consul:latest

    # Deploy to all docker manager nodes
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager
      restart_policy:
        condition: on-failure
    environment:
      CONSUL_LOCAL_CONFIG: "{disable_update_check: true}"
      CONSUL_BIND_INTERFACE: eth0
    entrypoint:
      - consul
      - agent
      - -server
      - -bootstrap-expect=3
      - -config-dir=/consul/config
      - -data-dir=/consul/data              # mandatory property
      - -bind={{ GetInterfaceIP "eth0" }}
      - -client=0.0.0.0
      - -ui
      - -retry-join=10.10.10.2
      - -retry-join=10.10.10.3
      - -retry-join=10.10.10.4
      - -retry-join=10.10.10.5
      - -retry-join=10.10.10.6
      - -retry-join=10.10.10.7
    networks:
      - net
      - voltha-net
    ports:
      - "8300:8300"
      - "8400:8400"
      - "8500:8500"
      - "8600:8600/udp"

networks:
  net:
    driver: overlay
    ipam:
      driver: default
      config:
        - subnet: 10.10.10.0/29
  voltha-net:
    external:
      name: voltha_net


Update consul to run in a multi-host swarm mode docker engine
VOL-56: Update consul to run in a multi-host swarm mode docker engine

Change-Id: I46613cc580a21e2b32654a4d857662a4b0f3a0c2
