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 -ggdbmaster
parent
79c13ba18a
commit
a077c98fc2
@ -1,14 +1,19 @@
|
||||
FROM debian:jessie
|
||||
FROM alpine:3.11.3 AS stage
|
||||
MAINTAINER Nicolas Favre-Felix <n.favrefelix@gmail.com>
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue