diff --git a/zookeeper/Dockerfile b/zookeeper/Dockerfile index f1044dde162bcfc63435a516ec85d2f2b41d927b..ed551521aa841000b126656cc42291007426fd86 100644 --- a/zookeeper/Dockerfile +++ b/zookeeper/Dockerfile @@ -1,5 +1,4 @@ -FROM registry-vpc.cn-hangzhou.aliyuncs.com/schbrain/jdk:8u172 -MAINTAINER xt +FROM registry-vpc.cn-hangzhou.aliyuncs.com/schbrain/jdk:8u172-1.0 ENV ZOO_CONF_DIR=/conf \ ZOO_DATA_DIR=/data \ @@ -36,19 +35,37 @@ RUN set -eux; \ # Verify that gosu binary works gosu nobody true -ARG GPG_KEY=3F7A1D16FA4217B1DC75E1C9FFE35B7F15DFA1BA -ARG SHORT_DISTRO_NAME=zookeeper-3.5.5 -ARG DISTRO_NAME=apache-zookeeper-3.5.5-bin +ARG GPG_KEY=BBE7232D7991050B54C8EA0ADC08637CA615D22C +ARG SHORT_DISTRO_NAME=zookeeper-3.6.0 +ARG DISTRO_NAME=apache-zookeeper-3.6.0-bin # Download Apache Zookeeper, verify its PGP signature, untar and clean up RUN set -eux; \ - wget -q "https://www.apache.org/dist/zookeeper/$SHORT_DISTRO_NAME/$DISTRO_NAME.tar.gz"; \ - wget -q "https://www.apache.org/dist/zookeeper/$SHORT_DISTRO_NAME/$DISTRO_NAME.tar.gz.asc"; \ + ddist() { \ + local f="$1"; shift; \ + local distFile="$1"; shift; \ + local success=; \ + local distUrl=; \ + for distUrl in \ + 'https://www.apache.org/dyn/closer.cgi?action=download&filename=' \ + https://www-us.apache.org/dist/ \ + https://www.apache.org/dist/ \ + https://archive.apache.org/dist/ \ + ; do \ + if wget -q -O "$f" "$distUrl$distFile" && [ -s "$f" ]; then \ + success=1; \ + break; \ + fi; \ + done; \ + [ -n "$success" ]; \ + }; \ + ddist "$DISTRO_NAME.tar.gz" "zookeeper/$SHORT_DISTRO_NAME/$DISTRO_NAME.tar.gz"; \ + ddist "$DISTRO_NAME.tar.gz.asc" "zookeeper/$SHORT_DISTRO_NAME/$DISTRO_NAME.tar.gz.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ - gpg --keyserver ha.pool.sks-keyservers.net --recv-key "$GPG_KEY" || \ - gpg --keyserver pgp.mit.edu --recv-keys "$GPG_KEY" || \ - gpg --keyserver keyserver.pgp.com --recv-keys "$GPG_KEY"; \ - gpg --batch --verify "$DISTRO_NAME.tar.gz.asc" "$DISTRO_NAME.tar.gz"; \ + #gpg --keyserver ha.pool.sks-keyservers.net --recv-key "$GPG_KEY" || \ + #gpg --keyserver pgp.mit.edu --recv-keys "$GPG_KEY" || \ + #gpg --keyserver keyserver.pgp.com --recv-keys "$GPG_KEY"; \ + #gpg --batch --verify "$DISTRO_NAME.tar.gz.asc" "$DISTRO_NAME.tar.gz"; \ tar -zxf "$DISTRO_NAME.tar.gz"; \ mv "$DISTRO_NAME/conf/"* "$ZOO_CONF_DIR"; \ rm -rf "$GNUPGHOME" "$DISTRO_NAME.tar.gz" "$DISTRO_NAME.tar.gz.asc"; \ diff --git a/zookeeper/docker-entrypoint.sh b/zookeeper/docker-entrypoint.sh index ee2cca810f7f59f0e10615a9e56326c17a0a9579..70bedbfa4c856bd8f6e05483fb816279ac3f7ded 100755 --- a/zookeeper/docker-entrypoint.sh +++ b/zookeeper/docker-entrypoint.sh @@ -11,20 +11,20 @@ fi # 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" - + { + echo "dataDir=$ZOO_DATA_DIR" + echo "dataLogDir=$ZOO_DATA_LOG_DIR" + + echo "tickTime=$ZOO_TICK_TIME" + echo "initLimit=$ZOO_INIT_LIMIT" + echo "syncLimit=$ZOO_SYNC_LIMIT" + + echo "autopurge.snapRetainCount=$ZOO_AUTOPURGE_SNAPRETAINCOUNT" + echo "autopurge.purgeInterval=$ZOO_AUTOPURGE_PURGEINTERVAL" + echo "maxClientCnxns=$ZOO_MAX_CLIENT_CNXNS" + echo "standaloneEnabled=$ZOO_STANDALONE_ENABLED" + echo "admin.enableServer=$ZOO_ADMINSERVER_ENABLED" + } >> "$CONFIG" if [[ -z $ZOO_SERVERS ]]; then ZOO_SERVERS="server.1=localhost:2888:3888;2181" fi @@ -32,6 +32,11 @@ if [[ ! -f "$ZOO_CONF_DIR/zoo.cfg" ]]; then 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