@@ -2,98 +2,18 @@ networks:
22 pulsar :
33 driver : bridge
44services :
5- # Start zookeeper
6- zookeeper :
5+ standalone :
76 image : apachepulsar/pulsar:3.3.2
8- container_name : zookeeper
9- restart : on-failure
10- networks :
11- - pulsar
12- volumes :
13- - ./data/zookeeper:/pulsar/data/zookeeper
14- - ./scripts/zookeper_health:/pulsar/bin/zookeper_health
15- environment :
16- - metadataStoreUrl=zk:zookeeper:2181
17- - PULSAR_MEM=-Xms256m -Xmx256m -XX:MaxDirectMemorySize=256m
18- command : >
19- bash -c "bin/apply-config-from-env.py conf/zookeeper.conf && \
20- bin/generate-zookeeper-config.sh conf/zookeeper.conf && \
21- exec bin/pulsar zookeeper"
22- healthcheck :
23- # The script is broken in the latest version, waiting for a new release
24- # test: ["CMD", "bin/pulsar-zookeeper-ruok.sh"]
25- test : ["CMD", "bin/zookeper_health"]
26- interval : 10s
27- timeout : 5s
28- retries : 10
29-
30- # Init cluster metadata
31- pulsar-init :
32- container_name : pulsar-init
33- hostname : pulsar-init
34- image : apachepulsar/pulsar:3.3.2
35- networks :
36- - pulsar
37- command : >
38- bin/pulsar initialize-cluster-metadata \
39- --cluster cluster-a \
40- --zookeeper zookeeper:2181 \
41- --configuration-store zookeeper:2181 \
42- --web-service-url http://broker:8080 \
43- --broker-service-url pulsar://broker:6650
44- depends_on :
45- zookeeper :
46- condition : service_healthy
47-
48- # Start bookie
49- bookie :
50- image : apachepulsar/pulsar:3.3.2
51- container_name : bookie
52- restart : on-failure
53- networks :
54- - pulsar
55- environment :
56- - clusterName=cluster-a
57- - zkServers=zookeeper:2181
58- - metadataServiceUri=metadata-store:zk:zookeeper:2181
59- # otherwise every time we run docker compose uo or down we fail to start due to Cookie
60- # See: https://github.com/apache/bookkeeper/blob/405e72acf42bb1104296447ea8840d805094c787/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java#L57-68
61- - advertisedAddress=bookie
62- - BOOKIE_MEM=-Xms512m -Xmx512m -XX:MaxDirectMemorySize=256m
63- depends_on :
64- zookeeper :
65- condition : service_healthy
66- pulsar-init :
67- condition : service_completed_successfully
68- # Map the local directory to the container to avoid bookie startup failure due to insufficient container disks.
69- volumes :
70- - ./data/bookkeeper:/pulsar/data/bookkeeper
71- command : bash -c "bin/apply-config-from-env.py conf/bookkeeper.conf && exec bin/pulsar bookie"
72-
73- # Start broker
74- broker :
75- image : apachepulsar/pulsar:3.3.2
76- container_name : broker
77- hostname : broker
78- restart : on-failure
79- networks :
80- - pulsar
81- environment :
82- - metadataStoreUrl=zk:zookeeper:2181
83- - zookeeperServers=zookeeper:2181
84- - clusterName=cluster-a
85- - managedLedgerDefaultEnsembleSize=1
86- - managedLedgerDefaultWriteQuorum=1
87- - managedLedgerDefaultAckQuorum=1
88- - advertisedAddress=broker
89- - advertisedListeners=external:pulsar://127.0.0.1:6650
90- - PULSAR_MEM=-Xms512m -Xmx512m -XX:MaxDirectMemorySize=256m
91- depends_on :
92- zookeeper :
93- condition : service_healthy
94- bookie :
95- condition : service_started
7+ command : bin/pulsar standalone
968 ports :
979 - " 6650:6650"
9810 - " 8080:8080"
99- command : bash -c "bin/apply-config-from-env.py conf/broker.conf && exec bin/pulsar broker"
11+ volumes :
12+ - pulsardata:/pulsar/data
13+ - pulsarconf:/pulsar/conf
14+
15+ volumes :
16+ pulsardata :
17+ name : pulsardata
18+ pulsarconf :
19+ name : pulsarconf
0 commit comments