version: '3.7'

services:
  zoo1:
    image: zookeeper:3.4.14
    restart: always
    hostname: zoo1
    volumes:
      - "/opt/docker-volumes/zoo1/data:/data"
      - "/opt/docker-volumes/zoo1/datalog:/datalog"
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      # For Zookeeper 3.5
      #ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ZOO_SERVERS: |-
        server.1=0.0.0.0:2888:3888
        server.2=zoo2:2888:3888
        server.3=zoo3:2888:3888

  zoo2:
    image: zookeeper:3.4.14
    restart: always
    hostname: zoo2
    volumes:
      - "/opt/docker-volumes/zoo2/data:/data"
      - "/opt/docker-volumes/zoo2/datalog:/datalog"
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      # For Zookeeper 3.5
      #ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ZOO_SERVERS: |-
        server.1=zoo1:2888:3888
        server.2=0.0.0.0:2888:3888
        server.3=zoo3:2888:3888

  zoo3:
    image: zookeeper:3.4.14
    restart: always
    hostname: zoo3
    volumes:
      - "/opt/docker-volumes/zoo3/data:/data"
      - "/opt/docker-volumes/zoo3/datalog:/datalog"
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      # For zookeeper 3.5
      #ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
      ZOO_SERVERS: |- 
        server.1=zoo1:2888:3888
        server.2=zoo2:2888:3888
        server.3=0.0.0.0:2888:3888