# Apache BookKeeper docker-compose ## Requirements * Docker >= 20.10 * Docker Compose >= 2.12.0 ## Quick start ```bash $ git clone https://github.com/apache/bookkeeper.git $ cd bookkeeper/deploy/docker-compose $ docker compose pull # Get the latest Docker images $ docker compose up -d $ cd ../../ $ bin/bkctl bookies list $ bin/bkctl ledger simpletest ``` ## Access Apache BookKeeper cluster ### Ledger Service You can use `zk://localhost:2181/ledgers` as metadataServiceUri to access ledger storage service. ```bash $ bin/bkctl -u 'zk://localhost:2181/ledgers' ledger simpletest ``` ### DistributedLog You can use `distributedlog://localhost:2181/distributedlog` as dlog uri to access ledger storage service using [distributedlog](https://bookkeeper.apache.org/docs/api/distributedlog-api/) API. ```bash $ bin/dlog tool create -u 'distributedlog://localhost:2181/distributedlog' --prefix test-stream -e 0-99 ``` ## Customize Apache BookKeeper Cluster ### Install Helm [Helm](https://helm.sh) is used as a template render engine. See how to [install Helm](https://helm.sh/docs/intro/install/). ### Bring up Apache BookKeeper cluster ```bash $ git clone https://github.com/apache/bookkeeper.git $ cd bookkeeper/deploy/docker-compose $ vi compose/values.yaml # custom cluster size, docker image, port mapping etc $ helm template compose > generated-docker-compose.yaml $ docker compose -f generated-docker-compose.yaml pull # Get the latest Docker images $ docker compose -f generated-docker-compose.yaml up -d ```