conductor-setup/dynomite/Dockerfile

64 lines
1.8 KiB
Docker
Raw Normal View History

2020-10-26 13:27:25 +01:00
#
# Dockerfile derived from the good work of 'Iannis Papapanagiotou' (https://github.com/ipapapa/DynomiteDocker/blob/master/Dockerfile)
# It uses the startup.sh script to generate the dynomite conf YAML based on seeds.conf file provided via 'docker swarm configs' directive
# as '/dynomite/seeds.conf' and the DYNO_NODE env. variable that identifies the node itself (that must exactly match one of the lines in the seeds file)
#
# Set the base image to Ubuntu
FROM ubuntu:14.04
# File Author / Maintainer
MAINTAINER Marco Lettere, Mauro Mugnaini - Nubisware S.r.l.
# Update the repository sources list and Install package Build Essential
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
dh-autoreconf \
git \
libssl-dev \
libtool \
python-software-properties\
redis-server \
tcl8.5
# Clone the Dynomite Git
RUN git clone https://github.com/Netflix/dynomite.git
RUN echo 'Git repo has been cloned in your Docker VM'
WORKDIR dynomite/
# Autoreconf
RUN autoreconf -fvi \
&& ./configure --enable-debug=log \
&& CFLAGS="-ggdb3 -O0" ./configure --enable-debug=full \
&& make \
&& make install
##################### INSTALLATION ENDS #####################
# Expose the peer port
#RUN echo 'Exposing peer port 8101'
EXPOSE 8101
# Expose the underlying Redis port
#RUN echo 'Exposing Redis port 22122'
EXPOSE 22122
# Expose the stats/admin port
#RUN echo 'Exposing stats/admin port 22222'
EXPOSE 22222
# Default port to acccess Dynomite
#RUN echo 'Exposing client port for Dynomite 8102'
EXPOSE 8102
# Setting overcommit for Redis to be able to do BGSAVE/BGREWRITEAOF
RUN sysctl vm.overcommit_memory=1
# Set the entry-point to be the startup script
ENTRYPOINT ["/dynomite/startup.sh"]
#RUN echo 'copy startup file...'
COPY scripts/startup.sh ./startup.sh
#RUN echo '... done'