geniusjoe commented on code in PR #1098:
URL: https://github.com/apache/pulsar-site/pull/1098#discussion_r3045250923
##########
docs/deploy-docker.md:
##########
@@ -81,10 +79,142 @@ docker run -d -p 6650:6650 -p 8080:8080 --net=pulsar \
-e metadataStoreUrl=zk:zookeeper:2181 \
-e zookeeperServers=zookeeper:2181 \
-e clusterName=cluster-a \
- -e managedLedgerDefaultEnsembleSize=1 \
- -e managedLedgerDefaultWriteQuorum=1 \
+ --name broker --hostname broker \
+ apachepulsar/pulsar-all:latest \
+ bash -c "bin/apply-config-from-env.py conf/broker.conf && exec bin/pulsar
broker"
+```
+
+## Step 4: Configuration overview
+
+Pulsar Docker images support the following configuration categories:
+
+- **JVM Configuration**: Controls JVM memory allocation and garbage collection
for Broker and BookKeeper processes. In Docker, JVM parameters are set via
environment variables such as `PULSAR_MEM` and `BOOKIE_MEM`.
+- **Broker Configuration** (`broker.conf`): Core runtime parameters for the
Pulsar Broker, including metadata store connection, cluster name, ports, and
message replication settings.
+- **BookKeeper Configuration** (`bookkeeper.conf`): Storage engine parameters
for BookKeeper Bookies, including journal and ledger directories, compaction,
and disk usage thresholds.
+- **Log4j Configuration** (`log4j2.yaml`): Logging framework settings
including log levels, output format, and file rolling strategies.
+- **Dynamic Configuration**: Some Broker configuration properties can be
updated at runtime without restarting the container, using the `pulsar-admin`
CLI tool or the Admin REST API.
+
+For a complete list of all available configuration properties, see the [Pulsar
Configuration Reference](https://pulsar.apache.org/reference/#/next/).
+
+### How Docker configuration works
+
+Pulsar Docker images include a Python script called `apply-config-from-env.py`
that runs before the main process starts. This script reads all environment
variables and maps them directly to configuration file properties:
+
+1. If an environment variable name matches a key in the built-in configuration
file shipped with the container (e.g., `broker.conf` or `bookkeeper.conf`), the
script updates that key's value.
+2. Environment variables prefixed with `PULSAR_PREFIX_` are also supported —
the prefix is stripped and the remaining name is used as the configuration key.
This is useful when the configuration key conflicts with existing system
environment variables.
Review Comment:
<img width="3840" height="1738" alt="image"
src="https://github.com/user-attachments/assets/d1813976-af9a-43c6-ba6c-ad107273bed7"
/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]