Skip to content

Commit c31cf95

Browse files
committed
Merge pull request #40 from infosiftr/alpine
Add simple Alpine-based variant
2 parents 98a586a + 18e13f7 commit c31cf95

File tree

5 files changed

+69
-3
lines changed

5 files changed

+69
-3
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ services: docker
44
env:
55
- VERSION=3.0 VARIANT=
66
- VERSION=3.0 VARIANT=32bit
7+
- VERSION=3.0 VARIANT=alpine
78
- VERSION=2.8 VARIANT=
89
- VERSION=2.8 VARIANT=32bit
910

3.0/alpine/Dockerfile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
FROM alpine:3.3
2+
3+
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
4+
RUN addgroup -S redis && adduser -S -G redis redis
5+
6+
ENV GOSU_GPG_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
7+
ENV GOSU_VERSION 1.7
8+
9+
# grab gosu for easy step-down from root
10+
RUN apk add --no-cache --virtual .gosu-deps \
11+
dpkg \
12+
gnupg \
13+
openssl \
14+
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
15+
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \
16+
&& wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \
17+
&& gpg --verify /usr/local/bin/gosu.asc \
18+
&& rm /usr/local/bin/gosu.asc \
19+
&& chmod +x /usr/local/bin/gosu \
20+
&& rm -r ~/.gnupg \
21+
&& apk del .gosu-deps
22+
23+
ENV REDIS_VERSION 3.0.6
24+
ENV REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-3.0.6.tar.gz
25+
ENV REDIS_DOWNLOAD_SHA1 4b1c7b1201984bca8f7f9c6c58862f6928cf0a25
26+
27+
# for redis-sentinel see: http://redis.io/topics/sentinel
28+
RUN set -x \
29+
&& apk add --no-cache --virtual .build-deps \
30+
gcc \
31+
linux-headers \
32+
make \
33+
musl-dev \
34+
&& wget "$REDIS_DOWNLOAD_URL" -O redis.tar.gz \
35+
&& echo "$REDIS_DOWNLOAD_SHA1 *redis.tar.gz" | sha1sum -c - \
36+
&& mkdir -p /usr/src \
37+
&& tar -xzf redis.tar.gz -C /usr/src \
38+
&& mv "/usr/src/redis-$REDIS_VERSION" /usr/src/redis \
39+
&& rm redis.tar.gz \
40+
&& make -C /usr/src/redis \
41+
&& make -C /usr/src/redis install \
42+
&& rm -r /usr/src/redis \
43+
&& apk del .build-deps
44+
45+
RUN mkdir /data && chown redis:redis /data
46+
VOLUME /data
47+
WORKDIR /data
48+
49+
COPY docker-entrypoint.sh /entrypoint.sh
50+
ENTRYPOINT ["/entrypoint.sh"]
51+
52+
EXPOSE 6379
53+
CMD [ "redis-server" ]

3.0/alpine/docker-entrypoint.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
set -e
3+
4+
if [ "$1" = 'redis-server' ]; then
5+
chown -R redis .
6+
exec gosu redis "$@"
7+
fi
8+
9+
exec "$@"

generate-stackbrew-library.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ for version in "${versions[@]}"; do
3131
echo "$va: ${url}@${commit} $version"
3232
done
3333

34-
for variant in 32bit; do
34+
for variant in 32bit alpine; do
3535
[ -f "$version/$variant/Dockerfile" ] || continue
3636
commit="$(cd "$version/$variant" && git log -1 --format='format:%H' -- Dockerfile $(awk 'toupper($1) == "COPY" { for (i = 2; i < NF; i++) { print $i } }' Dockerfile))"
3737
echo

update.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ for version in "${versions[@]}"; do
2727
s/^(ENV REDIS_VERSION) .*/\1 '"$fullVersion"'/;
2828
s/^(ENV REDIS_DOWNLOAD_URL) .*/\1 '"$downloadUrl"'/;
2929
s/^(ENV REDIS_DOWNLOAD_SHA1) .*/\1 '"$shaHash"'/
30-
' "$version"{/,/32bit/}"Dockerfile"
30+
' "$version"/{,*/}Dockerfile
3131
)
32-
travisEnv='\n - VERSION='"$version VARIANT=32bit$travisEnv"
32+
for variant in alpine 32bit; do
33+
[ -d "$version/$variant" ] || continue
34+
travisEnv='\n - VERSION='"$version VARIANT=$variant$travisEnv"
35+
done
3336
travisEnv='\n - VERSION='"$version VARIANT=$travisEnv"
3437
done
3538

0 commit comments

Comments
 (0)