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