这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 51 additions & 71 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,97 +1,77 @@
from ubuntu:14.04
run echo 'deb http://us.archive.ubuntu.com/ubuntu/ trusty universe' >> /etc/apt/sources.list
run apt-get -y update

run apt-get -y install software-properties-common &&\
apt-get -y update

RUN apt-get -y update \
&& apt-get -y upgrade \
&& apt-get -y --force-yes install vim \
nginx \
python-dev \
python-flup \
python-pip \
python-ldap \
expect \
git \
memcached \
sqlite3 \
libffi-dev \
libcairo2 \
libcairo2-dev \
python-cairo \
python-rrdtool \
pkg-config \
nodejs \
supervisor \
wget \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
FROM ubuntu:14.04
RUN echo 'deb http://us.archive.ubuntu.com/ubuntu/ trusty universe' >> /etc/apt/sources.list && \
apt-get -y update && \
apt-get -y install software-properties-common && \
apt-get -y update && \
apt-get -y upgrade && \
apt-get -y --force-yes install vim \
nginx \
python-dev \
python-flup \
python-pip \
python-ldap \
expect \
git \
memcached \
sqlite3 \
libffi-dev \
libcairo2 \
libcairo2-dev \
python-cairo \
python-rrdtool \
pkg-config \
nodejs \
supervisor \
wget \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*

RUN pip install gunicorn pyopenssl ndg-httpsclient pyasn1 django==1.8.18 \
python-memcached==1.53 \
txAMQP==0.6.2 \
&& pip install --upgrade pip

# Install statsd
run mkdir /src && git clone https://github.com/etsy/statsd.git /src/statsd

# Install required packages
run pip install whisper pytz scandir
run pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon
run pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp" graphite-web
RUN mkdir /src && git clone https://github.com/etsy/statsd.git /src/statsd && \
pip install whisper pytz scandir && \
pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon && \
pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp" graphite-web

# grafana
run cd ~ &&\
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.4.3_amd64.deb &&\
sudo dpkg -i grafana_4.4.3_amd64.deb &&\
rm grafana_4.4.3_amd64.deb
RUN cd ~ &&\
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.4.3_amd64.deb &&\
sudo dpkg -i grafana_4.4.3_amd64.deb &&\
rm grafana_4.4.3_amd64.deb

# statsd
add ./statsd/config.js /src/statsd/config.js
ADD ./statsd/config.js /src/statsd/config.js

# Add graphite config
add ./graphite/initial_data.json /var/lib/graphite/webapp/graphite/initial_data.json
add ./graphite/local_settings.py /var/lib/graphite/webapp/graphite/local_settings.py
add ./graphite/carbon.conf /var/lib/graphite/conf/carbon.conf
add ./graphite/storage-schemas.conf /var/lib/graphite/conf/storage-schemas.conf
add ./graphite/storage-aggregation.conf /var/lib/graphite/conf/storage-aggregation.conf
# ADD graphite config
ADD ./graphite/initial_data.json /var/lib/graphite/webapp/graphite/initial_data.json
ADD ./graphite/local_settings.py /var/lib/graphite/webapp/graphite/local_settings.py
ADD ./graphite/carbon.conf /var/lib/graphite/conf/carbon.conf
ADD ./graphite/storage-schemas.conf /var/lib/graphite/conf/storage-schemas.conf
ADD ./graphite/storage-aggregation.conf /var/lib/graphite/conf/storage-aggregation.conf

add ./grafana/config.ini /etc/grafana/config.ini
ADD ./grafana/config.ini /etc/grafana/config.ini

# Add system service config
add ./nginx/nginx.conf /etc/nginx/nginx.conf
add ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# ADD system service config
ADD ./nginx/nginx.conf /etc/nginx/nginx.conf
ADD ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf


# Nginx
#
# graphite
expose 80
# grafana
expose 3000

# Carbon line receiver port
expose 2003
# Carbon UDP receiver port
expose 2003/udp
# Carbon pickle receiver port
expose 2004
# Carbon cache query port
expose 7002

# Statsd UDP port
expose 8125/udp
# Statsd Management port
expose 8126
# graphite | grafana | Carbon line receiver port | Carbon UDP receiver port | Carbon pickle receiver port | Carbon cache query port | Statsd UDP port | Statsd Management port
EXPOSE 80 3000 2003 2003/udp 2004 7002 8125/udp 8126

env STATSD_IPV6 0
ENV STATSD_IPV6 0

# we probably want to do this
# volume /data

add ./bin/init /usr/bin/init
ADD ./bin/init /usr/bin/init

cmd exec /usr/bin/init
CMD exec /usr/bin/init