From 91fd1ddf63532894502aac8e8f2d208df53396ee Mon Sep 17 00:00:00 2001 From: Junv Zhao Date: Fri, 30 Jun 2017 15:33:49 +0800 Subject: [PATCH] update docker file --- redis/Dockerfile | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/redis/Dockerfile b/redis/Dockerfile index 9ebba5d..8f34ea7 100644 --- a/redis/Dockerfile +++ b/redis/Dockerfile @@ -1,10 +1,29 @@ -FROM alpine:3.6 +FROM debian:jessie-slim # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added -RUN addgroup -S redis && adduser -S -G redis redis +RUN groupadd -r redis && useradd -r -g redis redis -# grab su-exec for easy step-down from root -RUN apk add --no-cache 'su-exec>=0.2' +# grab gosu for easy step-down from root +# https://github.com/tianon/gosu/releases +ENV GOSU_VERSION 1.10 +RUN set -ex; \ + \ + fetchDeps='ca-certificates wget'; \ + apt-get update; \ + apt-get install -y --no-install-recommends $fetchDeps; \ + rm -rf /var/lib/apt/lists/*; \ + \ + dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ + wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ + wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ + gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ + rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc; \ + chmod +x /usr/local/bin/gosu; \ + gosu nobody true; \ + \ + apt-get purge -y --auto-remove $fetchDeps ENV REDIS_VERSION 3.2.9 ENV REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-3.2.9.tar.gz @@ -13,13 +32,16 @@ ENV REDIS_DOWNLOAD_SHA 6eaacfa983b287e440d0839ead20c2231749d5d6b78bbe0e0ffa3a890 # for redis-sentinel see: http://redis.io/topics/sentinel RUN set -ex; \ \ - apk add --no-cache --virtual .build-deps \ - coreutils \ + buildDeps=' \ + wget \ + \ gcc \ - linux-headers \ + libc6-dev \ make \ - musl-dev \ - ; \ + '; \ + apt-get update; \ + apt-get install -y $buildDeps --no-install-recommends; \ + rm -rf /var/lib/apt/lists/*; \ \ wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; \ echo "$REDIS_DOWNLOAD_SHA *redis.tar.gz" | sha256sum -c -; \ @@ -42,17 +64,15 @@ RUN set -ex; \ \ rm -r /usr/src/redis; \ \ - apk del .build-deps + apt-get purge -y --auto-remove $buildDeps RUN mkdir /data && chown redis:redis /data VOLUME /data WORKDIR /data +COPY redis.conf /root COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -RUN pwd -COPY redis.conf /root - EXPOSE 6379 CMD ["redis-server"]