Commit 3e514391 authored by daidekun's avatar daidekun
parents 9b9a55f6 34092fab
FROM 192.168.4.36/baseimg/jdk8
MAINTAINER zhangbin "bin.zhang@quantgroup.cn"
USER root
# 替换源
WORKDIR /etc/apt/
RUN mv sources.list /tmp
RUN echo deb http://mirrors.163.com/debian/ stretch main non-free contrib >> sources.list \
&& echo deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib >> sources.list \
&& echo deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib >> sources.list \
&& echo deb-src http://mirrors.163.com/debian/ stretch main non-free contrib >> sources.list \
&& echo deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib >> sources.list \
&& echo deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib >> sources.list \
&& echo deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib >> sources.list \
&& echo deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib >> sources.list
#安装必要工具
RUN apt-get update \
&& apt-get install -y vim \
&& apt-get install -y telnet \
&& apt-get install -y openssh-server \
&& apt-get install -y curl \
&& /etc/init.d/ssh start
ENV ZOO_USER=zookeeper \
ZOO_CONF_DIR=/conf \
ZOO_DATA_DIR=/data \
ZOO_DATA_LOG_DIR=/datalog \
ZOO_PORT=2181 \
ZOO_TICK_TIME=2000 \
ZOO_INIT_LIMIT=5 \
ZOO_SYNC_LIMIT=2 \
ZOO_MAX_CLIENT_CNXNS=60
# Add a user and make dirs
RUN set -ex; \
adduser "$ZOO_USER"; \
mkdir -p "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR"; \
chown "$ZOO_USER:$ZOO_USER" "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR"
ARG GPG_KEY=D0BC8D8A4E90A40AFDFC43B3E22A746A68E327C1
ARG DISTRO_NAME=zookeeper-3.4.8
# Download Apache Zookeeper, verify its PGP signature, untar and clean up
RUN set -ex; \
wget -q "http://www.apache.org/dist/zookeeper/$DISTRO_NAME/$DISTRO_NAME.tar.gz"; \
tar -xzf "$DISTRO_NAME.tar.gz"; \
mv "$DISTRO_NAME/conf/"* "$ZOO_CONF_DIR"; \
rm -rf "$GNUPGHOME" "$DISTRO_NAME.tar.gz"
USER $ZOO_USER
WORKDIR $DISTRO_NAME
VOLUME ["$ZOO_DATA_DIR", "$ZOO_DATA_LOG_DIR"]
EXPOSE $ZOO_PORT 2888 3888
ENV PATH=$PATH:/$DISTRO_NAME/bin \
ZOOCFGDIR=$ZOO_CONF_DIR
COPY ./scripts/docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["zkServer.sh", "start-foreground"]
#!/bin/bash
set -e
# Allow the container to be started with `--user`
if [ "$1" = 'zkServer.sh' -a "$(id -u)" = '0' ]; then
chown -R "$ZOO_USER" "$ZOO_DATA_DIR" "$ZOO_DATA_LOG_DIR"
exec su-exec "$ZOO_USER" "$0" "$@"
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 "clientPort=$ZOO_PORT" >> "$CONFIG"
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 "maxClientCnxns=$ZOO_MAX_CLIENT_CNXNS" >> "$CONFIG"
for server in $ZOO_SERVERS; do
echo "$server" >> "$CONFIG"
done
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 "$@"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment