64 lines
1.8 KiB
Docker
64 lines
1.8 KiB
Docker
#
|
|
# 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'
|