From bcba09c66ffdfad9b23e7802f23fb9c116682a09 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Thu, 10 Oct 2024 08:25:51 +0000 Subject: [PATCH] 22.03-lts-sp1 update redis to 7.4.1 --- redis/7.4.1/22.03-lts-sp1/Dockerfile | 56 +++++++++++++++++++++++++ redis/7.4.1/22.03-lts-sp1/entrypoint.sh | 21 ++++++++++ redis/meta.yml | 4 +- 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 redis/7.4.1/22.03-lts-sp1/Dockerfile create mode 100644 redis/7.4.1/22.03-lts-sp1/entrypoint.sh diff --git a/redis/7.4.1/22.03-lts-sp1/Dockerfile b/redis/7.4.1/22.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..ad03e7cf --- /dev/null +++ b/redis/7.4.1/22.03-lts-sp1/Dockerfile @@ -0,0 +1,56 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp1 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=7.4.1 + +RUN yum -y update; \ + yum -y install findutils wget gcc make glibc-devel openssl-devel ca-certificates; \ + 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 -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"] \ No newline at end of file diff --git a/redis/7.4.1/22.03-lts-sp1/entrypoint.sh b/redis/7.4.1/22.03-lts-sp1/entrypoint.sh new file mode 100644 index 00000000..16ecb3e8 --- /dev/null +++ b/redis/7.4.1/22.03-lts-sp1/entrypoint.sh @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +# first arg is `-f` or `--some-option` +# or first arg is `something.conf` +if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then + set -- redis-server "$@" +fi + +# allow the container to be started with `--user` +if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then + find . \! -user redis -exec chown redis '{}' + + exec gosu redis "$0" "$@" +fi + +um="$(umask)" +if [ "$um" = '0022' ]; then + umask 0077 +fi + +exec "$@" \ No newline at end of file diff --git a/redis/meta.yml b/redis/meta.yml index 1bff68d6..80d93c50 100644 --- a/redis/meta.yml +++ b/redis/meta.yml @@ -3,4 +3,6 @@ 7.2.4-oe2203sp3: path: redis/7.2.4/22.03-lts-sp3/Dcokerfile 8.0-m01-oe2203sp3: - path: redis/8.0-m01/22.03-lts-sp3/Dockerfile \ No newline at end of file + path: redis/8.0-m01/22.03-lts-sp3/Dockerfile +7.4.1-oe2203sp3: + path: /redis/7.4.1/22.03-lts-sp1/Dockerfile \ No newline at end of file -- Gitee