# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # --- # Source: apache-bookkeeper-docker-compose/templates/docker-compose.yml version: '3' services: zookeeper-1: image: zookeeper:3.8.0 ports: - "9080:8080" - "2181:2181" environment: - ZOO_MY_ID=1 - ZOO_SERVERS=server.1=zookeeper-1:2888:3888;2181 server.2=zookeeper-2:2888:3888;2181 server.3=zookeeper-3:2888:3888;2181 - ZOO_STANDALONE_ENABLED=false healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/commands/stat"] interval: 60s timeout: 3s retries: 60 restart: on-failure zookeeper-2: image: zookeeper:3.8.0 ports: - "9081:8080" - "2182:2181" environment: - ZOO_MY_ID=2 - ZOO_SERVERS=server.1=zookeeper-1:2888:3888;2181 server.2=zookeeper-2:2888:3888;2181 server.3=zookeeper-3:2888:3888;2181 - ZOO_STANDALONE_ENABLED=false healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/commands/stat"] interval: 60s timeout: 3s retries: 60 restart: on-failure zookeeper-3: image: zookeeper:3.8.0 ports: - "9082:8080" - "2183:2181" environment: - ZOO_MY_ID=3 - ZOO_SERVERS=server.1=zookeeper-1:2888:3888;2181 server.2=zookeeper-2:2888:3888;2181 server.3=zookeeper-3:2888:3888;2181 - ZOO_STANDALONE_ENABLED=false healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/commands/stat"] interval: 60s timeout: 3s retries: 60 restart: on-failure bookie-1: image: apache/bookkeeper:4.15.3 ports: - "3181:3181" - "8080:8080" - "4181:4181" environment: - BK_zkServers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 - BK_metadataServiceUri=zk+hierarchical://zookeeper-1:2181;zookeeper-2:2181;zookeeper-3:2181/ledgers - BK_DATA_DIR=/data/bookkeeper - BK_advertisedAddress=127.0.0.1 - BK_bookiePort=3181 - BK_httpServerEnabled=true depends_on: - "zookeeper-1" - "zookeeper-2" - "zookeeper-3" healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/heartbeat"] interval: 60s timeout: 3s retries: 60 restart: on-failure bookie-2: image: apache/bookkeeper:4.15.3 ports: - "3182:3182" - "8081:8080" - "4182:4181" environment: - BK_zkServers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 - BK_metadataServiceUri=zk+hierarchical://zookeeper-1:2181;zookeeper-2:2181;zookeeper-3:2181/ledgers - BK_DATA_DIR=/data/bookkeeper - BK_advertisedAddress=127.0.0.1 - BK_bookiePort=3182 - BK_httpServerEnabled=true depends_on: - "zookeeper-1" - "zookeeper-2" - "zookeeper-3" healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/heartbeat"] interval: 60s timeout: 3s retries: 60 restart: on-failure bookie-3: image: apache/bookkeeper:4.15.3 ports: - "3183:3183" - "8082:8080" - "4183:4181" environment: - BK_zkServers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 - BK_metadataServiceUri=zk+hierarchical://zookeeper-1:2181;zookeeper-2:2181;zookeeper-3:2181/ledgers - BK_DATA_DIR=/data/bookkeeper - BK_advertisedAddress=127.0.0.1 - BK_bookiePort=3183 - BK_httpServerEnabled=true depends_on: - "zookeeper-1" - "zookeeper-2" - "zookeeper-3" healthcheck: test: ["CMD", "curl", "-s", "http://localhost:8080/heartbeat"] interval: 60s timeout: 3s retries: 60 restart: on-failure