From de09799887339c5af02d96e20bb417fa65dbc8d1 Mon Sep 17 00:00:00 2001 From: Taseer Ahmed Date: Fri, 4 Aug 2017 10:45:35 +0500 Subject: Support for Docker images on ARM processors. - Usage: docker build --build-arg ARCH= . Change-Id: I9018c627cef05e69492dbdefbe750d72cf98064d Signed-off-by: Taseer Ahmed --- docker/storperf-httpfrontend/Dockerfile | 98 ++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 3 deletions(-) (limited to 'docker/storperf-httpfrontend/Dockerfile') 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 -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 -- cgit 1.2.3-korg