github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/images/zookeeper/Dockerfile.in (about) 1 # Copyright Greg Haskins All Rights Reserved 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 # 5 FROM _BASE_NS_/fabric-baseimage:_BASE_TAG_ 6 # Based on https://github.com/31z4/zookeeper-docker/blob/master/3.4.10/Dockerfile 7 8 # Install su-exec 9 RUN set -x \ 10 && git clone https://github.com/ncopa/su-exec /tmp/su-exec/ \ 11 && cd /tmp/su-exec \ 12 && make all \ 13 && cp su-exec /usr/bin/ 14 15 ENV ZOO_USER=zookeeper \ 16 ZOO_CONF_DIR=/conf \ 17 ZOO_DATA_DIR=/data \ 18 ZOO_DATA_LOG_DIR=/datalog \ 19 ZOO_PORT=2181 \ 20 ZOO_TICK_TIME=2000 \ 21 ZOO_INIT_LIMIT=5 \ 22 ZOO_SYNC_LIMIT=2 23 24 # Add a user and make dirs 25 RUN set -x \ 26 && useradd "$ZOO_USER" \ 27 && mkdir -p "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR" \ 28 && chown "$ZOO_USER:$ZOO_USER" "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR" 29 30 ARG GPG_KEY=C823E3E5B12AF29C67F81976F5CECB3CB5E9BD2D 31 ARG DISTRO_NAME=zookeeper-3.4.10 32 33 # Download Apache Zookeeper, verify its PGP signature, untar and clean up 34 RUN set -x \ 35 && cd / \ 36 && curl -fsSL "http://www.apache.org/dist/zookeeper/$DISTRO_NAME/$DISTRO_NAME.tar.gz" | tar -xz \ 37 && mv "$DISTRO_NAME/conf/"* "$ZOO_CONF_DIR" 38 39 WORKDIR $DISTRO_NAME 40 VOLUME ["$ZOO_DATA_DIR", "$ZOO_DATA_LOG_DIR"] 41 42 EXPOSE $ZOO_PORT 2888 3888 43 44 ENV PATH=$PATH:/$DISTRO_NAME/bin \ 45 ZOOCFGDIR=$ZOO_CONF_DIR 46 47 COPY payload/docker-entrypoint.sh / 48 ENTRYPOINT ["/docker-entrypoint.sh"] 49 CMD ["zkServer.sh", "start-foreground"]