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]

Reply via email to