-
Notifications
You must be signed in to change notification settings - Fork 101
/
Copy pathDockerfile
56 lines (51 loc) · 1.4 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM debian:stretch-slim
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r memcache && useradd -r -g memcache memcache
ENV MEMCACHED_VERSION 1.5.0
ENV MEMCACHED_SHA1 e12af93e63c05ab7e89398e4cfd0bfc7b7bff1c5
RUN set -x \
\
&& buildDeps=' \
ca-certificates \
dpkg-dev \
gcc \
libc6-dev \
libevent-dev \
libsasl2-dev \
make \
perl \
wget \
' \
&& apt-get update && apt-get install -y $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
\
&& wget -O memcached.tar.gz "https://memcached.org/files/memcached-$MEMCACHED_VERSION.tar.gz" \
&& echo "$MEMCACHED_SHA1 memcached.tar.gz" | sha1sum -c - \
&& mkdir -p /usr/src/memcached \
&& tar -xzf memcached.tar.gz -C /usr/src/memcached --strip-components=1 \
&& rm memcached.tar.gz \
\
&& cd /usr/src/memcached \
\
&& ./configure \
--build="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
--enable-sasl \
&& make -j "$(nproc)" \
\
&& make test \
&& make install \
\
&& cd / && rm -rf /usr/src/memcached \
\
&& apt-mark manual \
libevent-2.0-5 \
libsasl2-2 \
&& apt-get purge -y --auto-remove $buildDeps \
\
&& memcached -V
COPY docker-entrypoint.sh /usr/local/bin/
RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]
USER memcache
EXPOSE 11211
CMD ["memcached"]