version: '3' services: haproxy: image: haproxy:latest ports: - "9001:9000" volumes: - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg depends_on: - clickhouse1 - clickhouse2 - clickhouse3 - clickhouse4 zoo1: image: zookeeper:latest expose: - "2181" - "2888" - "3888" environment: ZOO_MY_ID: "1" ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper:latest expose: - "2181" - "2888" - "3888" environment: ZOO_MY_ID: "2" ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo3: image: zookeeper:latest expose: - "2181" - "2888" - "3888" environment: ZOO_MY_ID: "3" ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181 clickhouse1: image: yandex/clickhouse-server:latest hostname: clickhouse1 expose: - "9000" depends_on: - zoo1 - zoo2 - zoo3 volumes: - ./config_1.xml:/etc/clickhouse-server/config.xml - ./metrika.xml:/etc/clickhouse-server/metrika.xml ulimits: nofile: soft: 262144 hard: 262144 clickhouse2: image: yandex/clickhouse-server:latest hostname: clickhouse2 expose: - "9000" depends_on: - zoo1 - zoo2 - zoo3 volumes: - ./config_2.xml:/etc/clickhouse-server/config.xml - ./metrika.xml:/etc/clickhouse-server/metrika.xml ulimits: nofile: soft: 262144 hard: 262144 clickhouse3: image: yandex/clickhouse-server:latest hostname: clickhouse3 expose: - "9000" depends_on: - zoo1 - zoo2 - zoo3 volumes: - ./config_3.xml:/etc/clickhouse-server/config.xml - ./metrika.xml:/etc/clickhouse-server/metrika.xml ulimits: nofile: soft: 262144 hard: 262144 clickhouse4: image: yandex/clickhouse-server:latest hostname: clickhouse4 expose: - "9000" depends_on: - zoo1 - zoo2 - zoo3 volumes: - ./config_4.xml:/etc/clickhouse-server/config.xml - ./metrika.xml:/etc/clickhouse-server/metrika.xml ulimits: nofile: soft: 262144 hard: 262144