docker run -p 2181:2181 -p 8080:8080 -m 1Gi freemanliu/zookeeper:3.5.7
docker run -p 2181:2181 -p 8080:8080 \
-e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory " \
-m 1Gi freemanliu/zookeeper:3.6.1
http://localhost:7070/metrics
docker run -p 2181:2181 -p 8080:8080 -p 7070:7070 \
-e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory" \
-e ZOO_CFG_EXTRA="metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7070" \
-m 1Gi freemanliu/zookeeper:3.6.1
docker run -it --rm \
-e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory -XX:+UnlockExperimentalVMOptions -XX:+UseZGC" \
-e ZOO_CFG_EXTRA="metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7070" \
-p 7070:7070 -p8080:8080 -p 2181:2181 freemanliu/zookeeper:3.6.1
#Cluster
ZOO_MY_ID: myid
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
FROM freemanliu/openjre:11.0.5
ADD apache-zookeeper-3.5.7-bin.tar.gz /opt
ADD docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh
ENV ZOO_CONF_DIR=/zk/conf \
ZOO_DATA_DIR=/zk/zkdata \
ZOO_DATA_LOG_DIR=/zk/zkdatalog \
ZOO_LOG_DIR=/zk/logs \
ZOO_TICK_TIME=2000 \
ZOO_INIT_LIMIT=5 \
ZOO_SYNC_LIMIT=2 \
ZOO_AUTOPURGE_PURGEINTERVAL=1 \
ZOO_AUTOPURGE_SNAPRETAINCOUNT=3 \
ZOO_MAX_CLIENT_CNXNS=300 \
ZOO_STANDALONE_ENABLED=true \
ZOO_ADMINSERVER_ENABLED=true \
DISTRO_NAME=/opt/apache-zookeeper-3.5.7-bin
WORKDIR $DISTRO_NAME
VOLUME ["$ZOO_DATA_DIR", "$ZOO_DATA_LOG_DIR", "$ZOO_LOG_DIR","$ZOO_CONF_DIR"]
EXPOSE 2181 2888 3888 8080
ENV PATH=$PATH:/$DISTRO_NAME/bin \
ZOOCFGDIR=$ZOO_CONF_DIR
CMD ["/docker-entrypoint.sh","zkServer.sh", "start-foreground"]
#!/bin/bash
set -e
cp -r $DISTRO_NAME/conf/* $ZOO_CONF_DIR
# Generate the config only if it doesn't exist
if [[ ! -f "$ZOO_CONF_DIR/zoo.cfg" ]]; then
CONFIG="$ZOO_CONF_DIR/zoo.cfg"
echo "dataDir=$ZOO_DATA_DIR" >> "$CONFIG"
echo "dataLogDir=$ZOO_DATA_LOG_DIR" >> "$CONFIG"
echo "tickTime=$ZOO_TICK_TIME" >> "$CONFIG"
echo "initLimit=$ZOO_INIT_LIMIT" >> "$CONFIG"
echo "syncLimit=$ZOO_SYNC_LIMIT" >> "$CONFIG"
echo "autopurge.snapRetainCount=$ZOO_AUTOPURGE_SNAPRETAINCOUNT" >> "$CONFIG"
echo "autopurge.purgeInterval=$ZOO_AUTOPURGE_PURGEINTERVAL" >> "$CONFIG"
echo "maxClientCnxns=$ZOO_MAX_CLIENT_CNXNS" >> "$CONFIG"
echo "standaloneEnabled=$ZOO_STANDALONE_ENABLED" >> "$CONFIG"
echo "admin.enableServer=$ZOO_ADMINSERVER_ENABLED" >> "$CONFIG"
if [[ -z $ZOO_SERVERS ]]; then
ZOO_SERVERS="server.1=localhost:2888:3888;2181"
fi
for server in $ZOO_SERVERS; do
echo "$server" >> "$CONFIG"
done
if [[ -n $ZOO_4LW_COMMANDS_WHITELIST ]]; then
echo "4lw.commands.whitelist=$ZOO_4LW_COMMANDS_WHITELIST" >> "$CONFIG"
fi
fi
# Write myid only if it doesn't exist
if [[ ! -f "$ZOO_DATA_DIR/myid" ]]; then
echo "${ZOO_MY_ID:-1}" > "$ZOO_DATA_DIR/myid"
fi
exec "$@"
Content type
Image
Digest
Size
87.4 MB
Last updated
about 6 years ago
docker pull freemanliu/zookeeper:3.6.1