summaryrefslogtreecommitdiffstats
path: root/docker/storperf-httpfrontend/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/storperf-httpfrontend/Dockerfile')
-rw-r--r--docker/storperf-httpfrontend/Dockerfile98
1 files changed, 95 insertions, 3 deletions
diff --git a/docker/storperf-httpfrontend/Dockerfile b/docker/storperf-httpfrontend/Dockerfile
index 19d620e..b238d51 100644
--- a/docker/storperf-httpfrontend/Dockerfile
+++ b/docker/storperf-httpfrontend/Dockerfile
@@ -12,10 +12,101 @@
# $ docker build -t opnfv/storperf-frontend:tag .
##
+ARG ARCH=x86_64
+ARG ALPINE_VERSION=v3.5
+FROM multiarch/alpine:$ARCH-$ALPINE_VERSION
-FROM nginx:stable-alpine
-MAINTAINER Mark Beierl <mark.beierl@dell.com>
-LABEL version="3.1" description="OPNFV Storperf HTTP Front End Container"
+# This comes from https://github.com/nginxinc/docker-nginx/blob/14c1b938737cf4399a6bb039bc506957dce562ae/stable/alpine/Dockerfile
+# Is is cloned here so that we can use multiarch alpine
+
+MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"
+
+ENV NGINX_VERSION 1.8.1
+
+ENV GPG_KEYS B0F4253373F8F6F510D42178520A9993A1C052F8
+ENV CONFIG "\
+ --prefix=/etc/nginx \
+ --sbin-path=/usr/sbin/nginx \
+ --conf-path=/etc/nginx/nginx.conf \
+ --error-log-path=/var/log/nginx/error.log \
+ --http-log-path=/var/log/nginx/access.log \
+ --pid-path=/var/run/nginx.pid \
+ --lock-path=/var/run/nginx.lock \
+ --http-client-body-temp-path=/var/cache/nginx/client_temp \
+ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
+ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
+ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
+ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
+ --user=nginx \
+ --group=nginx \
+ --with-http_ssl_module \
+ --with-http_realip_module \
+ --with-http_addition_module \
+ --with-http_sub_module \
+ --with-http_dav_module \
+ --with-http_flv_module \
+ --with-http_mp4_module \
+ --with-http_gunzip_module \
+ --with-http_gzip_static_module \
+ --with-http_random_index_module \
+ --with-http_secure_link_module \
+ --with-http_stub_status_module \
+ --with-http_auth_request_module \
+ --with-mail \
+ --with-mail_ssl_module \
+ --with-file-aio \
+ --with-http_spdy_module \
+ --with-ipv6 \
+ "
+
+RUN \
+ addgroup -S nginx \
+ && adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \
+ && apk add --no-cache --virtual .build-deps \
+ gcc \
+ libc-dev \
+ make \
+ openssl-dev \
+ pcre-dev \
+ zlib-dev \
+ linux-headers \
+ curl \
+ gnupg \
+ && gpg --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys "$GPG_KEYS" \
+ && curl -fSL http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \
+ && curl -fSL http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \
+ && gpg --verify nginx.tar.gz.asc \
+ && mkdir -p /usr/src \
+ && tar -zxC /usr/src -f nginx.tar.gz \
+ && rm nginx.tar.gz* \
+ && rm -r /root/.gnupg \
+ && cd /usr/src/nginx-$NGINX_VERSION \
+ && ./configure $CONFIG --with-debug \
+ && make \
+ && mv objs/nginx objs/nginx-debug \
+ && ./configure $CONFIG \
+ && make \
+ && make install \
+ && install -m755 objs/nginx-debug /usr/sbin/nginx-debug \
+ && strip /usr/sbin/nginx* \
+ && runDeps="$( \
+ scanelf --needed --nobanner /usr/sbin/nginx \
+ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
+ | sort -u \
+ | xargs -r apk info --installed \
+ | sort -u \
+ )" \
+ && apk add --virtual .nginx-rundeps $runDeps \
+ && apk del .build-deps \
+ && rm -rf /usr/src/nginx-* \
+ \
+ # forward request and error logs to docker log collector
+ && ln -sf /dev/stdout /var/log/nginx/access.log \
+ && ln -sf /dev/stderr /var/log/nginx/error.log
+
+EXPOSE 80 443
+
+# StorPerf addition below
ARG BRANCH=master
@@ -23,3 +114,4 @@ COPY ./nginx.conf /etc/nginx/nginx.conf
COPY ./html /etc/nginx/html
EXPOSE 5000
+CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file