From a077c98fc2a92c3b62b6487cfb666053507595f5 Mon Sep 17 00:00:00 2001 From: Jessie Murray <61305023+jessie-murray@users.noreply.github.com> Date: Fri, 21 Feb 2020 00:02:51 -0800 Subject: [PATCH] Update Dockerfile to use Alpine Linux (#169) * Change base image to Alpine 3.11.3 * Use multi-stage build (reducing size from 276 MB to 9.5 MB) * Change Makefile to build with -O3 instead of -O0 -ggdb --- Dockerfile | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd59c52..a186431 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,19 @@ -FROM debian:jessie +FROM alpine:3.11.3 AS stage MAINTAINER Nicolas Favre-Felix -RUN apt-get -y update && apt-get -y upgrade && apt-get -y --force-yes install wget make gcc libevent-dev libmsgpack-dev redis-server +RUN apk update && apk add wget make gcc libevent-dev msgpack-c-dev musl-dev bsd-compat-headers RUN wget https://github.com/nicolasff/webdis/archive/0.1.7.tar.gz -O webdis-0.1.7.tar.gz RUN tar -xvzf webdis-0.1.7.tar.gz +RUN sed -i -e 's/-O0 -ggdb/-O3/g' ./webdis-0.1.7/Makefile RUN cd webdis-0.1.7 && make && make install && cd .. -RUN rm -rf webdis-0.1.7 webdis-0.1.7.tag.gz -RUN apt-get remove -y wget make gcc libevent-dev libmsgpack-dev RUN sed -i -e 's/"daemonize":.*true,/"daemonize": false,/g' /etc/webdis.prod.json -CMD /etc/init.d/redis-server start && /usr/local/bin/webdis /etc/webdis.prod.json +# main image +FROM alpine:3.11.3 +RUN apk update && apk add libevent msgpack-c redis +COPY --from=stage /usr/local/bin/webdis /usr/local/bin/ +COPY --from=stage /etc/webdis.prod.json /etc/webdis.prod.json +RUN echo "daemonize yes" >> /etc/redis.conf +CMD /usr/bin/redis-server /etc/redis.conf && /usr/local/bin/webdis /etc/webdis.prod.json EXPOSE 7379