代码拉取完成,页面将自动刷新
ARG BASE=openeuler/openeuler:24.03-lts-sp1
FROM ${BASE}
ARG TARGETARCH
ARG VERSION=8.0.2
RUN yum -y update; \
yum -y install findutils wget gcc make glibc-devel openssl-devel ca-certificates shadow-utils g++; \
groupadd -r -g 909 redis; \
useradd -r -g redis -u 909 redis
ENV GOSU_VERSION 1.17
RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${TARGETARCH}"; \
chmod +x /usr/local/bin/gosu; \
wget -O redis.tar.gz https://github.com/redis/redis/archive/refs/tags/${VERSION}.tar.gz; \
mkdir -p /redis; tar -vxzf redis.tar.gz -C /redis --strip-components=1; \
rm -rf redis.tar.gz; \
grep -E '^ *createBoolConfig[(]"protected-mode",.*, *1 *,.*[)],$' /redis/src/config.c; \
sed -ri 's!^( *createBoolConfig[(]"protected-mode",.*, *)1( *,.*[)],)$!\10\2!' /redis/src/config.c; \
grep -E '^ *createBoolConfig[(]"protected-mode",.*, *0 *,.*[)],$' /redis/src/config.c; \
extraJemallocConfigureFlags="--build=$TARGETARCH"; \
case "${TARGETARCH}" in \
amd64) extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-page=12" ;; \
*) extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-page=16" ;; \
esac; \
extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-hugepage=21"; \
grep -F 'cd jemalloc && ./configure ' /redis/deps/Makefile; \
sed -ri 's!cd jemalloc && ./configure !&'"$extraJemallocConfigureFlags"' !' /redis/deps/Makefile; \
grep -F "cd jemalloc && ./configure $extraJemallocConfigureFlags " /redis/deps/Makefile; \
export BUILD_TLS=yes; \
make -C /redis/deps/fast_float; \
make -C /redis -j "$(nproc)" all MALLOC=libc; \
make -C /redis install
COPY entrypoint.sh /
RUN serverMd5="$(md5sum /usr/local/bin/redis-server | cut -d' ' -f1)"; export serverMd5; \
find /usr/local/bin/redis* -maxdepth 0 \
-type f -not -name redis-server \
-exec sh -eux -c ' \
md5="$(md5sum "$1" | cut -d" " -f1)"; \
test "$md5" = "$serverMd5"; \
' -- '{}' ';' \
-exec ln -svfT 'redis-server' '{}' ';' \
; \
rm -rf /redis; \
chmod 755 /entrypoint.sh; \
mkdir /data; chown redis:redis /data; \
yum -y remove wget gcc make; \
yum clean all
VOLUME /data
WORKDIR /data
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 6379
CMD ["redis-server"]
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。