summaryrefslogtreecommitdiffstats
path: root/docker/storperf-graphite/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/storperf-graphite/Dockerfile')
-rw-r--r--docker/storperf-graphite/Dockerfile66
1 files changed, 66 insertions, 0 deletions
diff --git a/docker/storperf-graphite/Dockerfile b/docker/storperf-graphite/Dockerfile
new file mode 100644
index 0000000..b566458
--- /dev/null
+++ b/docker/storperf-graphite/Dockerfile
@@ -0,0 +1,66 @@
+##############################################################################
+# Copyright (c) 2017 Dell EMC and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+# Docker container for StorPerf HTTP Graphite
+#
+# Build:
+# $ docker build -t opnfv/storperf-graphite:tag .
+##
+
+# From https://github.com/SchweizerischeBundesbahnen/docker-graphite
+
+ARG ARCH=x86_64
+ARG ALPINE_VERSION=v3.5
+FROM multiarch/alpine:$ARCH-$ALPINE_VERSION
+
+# Install basic stuff =)
+RUN apk add --no-cache \
+ bash \
+ ca-certificates \
+ nginx \
+ openssl \
+ py2-pip \
+ supervisor \
+ tini \
+ && pip install \
+ supervisor-stdout \
+ gunicorn
+
+# Install graphite
+ENV GRAPHITE_ROOT /opt/graphite
+
+RUN apk add --no-cache \
+ alpine-sdk \
+ fontconfig \
+ libffi \
+ libffi-dev \
+ python-dev \
+ py-cairo \
+ && export PYTHONPATH="/opt/graphite/lib/:/opt/graphite/webapp/" \
+ && pip install https://github.com/graphite-project/whisper/tarball/master \
+ && pip install https://github.com/graphite-project/carbon/tarball/master \
+ && pip install https://github.com/graphite-project/graphite-web/tarball/master \
+ && apk del \
+ alpine-sdk \
+ python-dev \
+ libffi-dev
+
+EXPOSE 8080
+EXPOSE 2003
+EXPOSE 2004
+EXPOSE 7002
+
+VOLUME ["/opt/graphite/conf", "/opt/graphite/storage"]
+
+COPY run.sh /run.sh
+COPY etc/ /etc/
+COPY conf/ /opt/graphite/conf.example/
+
+# Enable tiny init
+ENTRYPOINT ["/sbin/tini", "--"]
+CMD ["/bin/bash", "/run.sh"]