From 5b10ce57eeb86ee47391a3113889a19e1b9d508e Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Tue, 3 Jun 2025 07:24:02 +0000 Subject: [PATCH 1/6] 24.03-lts-sp1 update redis to 8.0.2 --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 56 +++++++++++++++++++ .../redis/8.0.2/24.03-lts-sp1/entrypoint.sh | 21 +++++++ Database/redis/meta.yml | 4 +- 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 Database/redis/8.0.2/24.03-lts-sp1/Dockerfile create mode 100644 Database/redis/8.0.2/24.03-lts-sp1/entrypoint.sh diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..eefd0dc --- /dev/null +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -0,0 +1,56 @@ +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; \ + 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/Database/redis/8.0.2/24.03-lts-sp1/entrypoint.sh b/Database/redis/8.0.2/24.03-lts-sp1/entrypoint.sh new file mode 100644 index 0000000..16ecb3e --- /dev/null +++ b/Database/redis/8.0.2/24.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/Database/redis/meta.yml b/Database/redis/meta.yml index 1e9beff..fa14052 100644 --- a/Database/redis/meta.yml +++ b/Database/redis/meta.yml @@ -13,4 +13,6 @@ 7.4.1-oe2203sp4: path: 7.4.1/22.03-lts-sp4/Dockerfile 7.4.1-oe2403lts: - path: 7.4.1/24.03-lts/Dockerfile \ No newline at end of file + path: 7.4.1/24.03-lts/Dockerfile +8.0.2-oe2403sp1: + path: Database/redis/8.0.2/24.03-lts-sp1/Dockerfile \ No newline at end of file -- Gitee From 2b8663b9882719ec71e368335d51d0133c877449 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Tue, 3 Jun 2025 08:17:14 +0000 Subject: [PATCH 2/6] update Database/redis/8.0.2/24.03-lts-sp1/Dockerfile. Signed-off-by: openeuler_bot <673672685@qq.com> --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile index eefd0dc..ce91ac9 100644 --- a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -5,7 +5,7 @@ ARG TARGETARCH ARG VERSION=8.0.2 RUN yum -y update; \ - yum -y install findutils wget gcc make glibc-devel openssl-devel ca-certificates; \ + yum -y install findutils wget gcc make glibc-devel openssl-devel ca-certificates shadow-utils; \ groupadd -r -g 909 redis; \ useradd -r -g redis -u 909 redis -- Gitee From 39c79c4c92b860dd8331d15e8e425a66b7362c54 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Tue, 3 Jun 2025 11:41:44 +0000 Subject: [PATCH 3/6] update Database/redis/8.0.2/24.03-lts-sp1/Dockerfile. Signed-off-by: openeuler_bot <673672685@qq.com> --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile index ce91ac9..d8d0f72 100644 --- a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -28,6 +28,7 @@ RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/downloa 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 -j"$(nproc)"; \ make -C /redis -j "$(nproc)" all MALLOC=libc; \ make -C /redis install -- Gitee From 04aa3e750140ee7763140445a3b883c3a935f604 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Wed, 4 Jun 2025 01:29:29 +0000 Subject: [PATCH 4/6] update Database/redis/8.0.2/24.03-lts-sp1/Dockerfile. Signed-off-by: openeuler_bot <673672685@qq.com> --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile index d8d0f72..ce91ac9 100644 --- a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -28,7 +28,6 @@ RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/downloa 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 -j"$(nproc)"; \ make -C /redis -j "$(nproc)" all MALLOC=libc; \ make -C /redis install -- Gitee From a92ef70f6764d0bc6f8aa10a8262e78147269a11 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Wed, 4 Jun 2025 07:05:23 +0000 Subject: [PATCH 5/6] update Database/redis/8.0.2/24.03-lts-sp1/Dockerfile. Signed-off-by: openeuler_bot <673672685@qq.com> --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile index ce91ac9..c6eed64 100644 --- a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -5,16 +5,14 @@ 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; \ + yum -y install findutils git wget gcc make glibc-devel openssl-devel ca-certificates shadow-utils; \ 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; \ + git clone --recursive -b 8.0.2 --depth 1 https://github.com/redis/redis.git /redis; \ 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; \ @@ -28,6 +26,13 @@ RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/downloa sed -ri 's!cd jemalloc && ./configure !&'"$extraJemallocConfigureFlags"' !' /redis/deps/Makefile; \ grep -F "cd jemalloc && ./configure $extraJemallocConfigureFlags " /redis/deps/Makefile; \ export BUILD_TLS=yes; \ + cd /redis/deps/jemalloc; \ + sed -i 's/LDFLAGS = /LDFLAGS = -lpthread /' Makefile; \ + make distclean; \ + ./configure $extraJemallocConfigureFlags; \ + make -j && make install; \ + cd /redis; \ + sed -i 's/LIBS = /LIBS = -lpthread /' /redis/src/Makefile; \ make -C /redis -j "$(nproc)" all MALLOC=libc; \ make -C /redis install -- Gitee From 0d03e90a8548659c71dc9eba668f0bc2b502fcc4 Mon Sep 17 00:00:00 2001 From: openeuler_bot <673672685@qq.com> Date: Wed, 4 Jun 2025 09:18:33 +0000 Subject: [PATCH 6/6] update Database/redis/8.0.2/24.03-lts-sp1/Dockerfile. Signed-off-by: openeuler_bot <673672685@qq.com> --- Database/redis/8.0.2/24.03-lts-sp1/Dockerfile | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile index c6eed64..ffb3b94 100644 --- a/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile +++ b/Database/redis/8.0.2/24.03-lts-sp1/Dockerfile @@ -1,18 +1,20 @@ -ARG BASE=openeuler/openeuler:24.03-lts-sp1 +ARG BASE=openeuler/openeuler:24.03-lts FROM ${BASE} ARG TARGETARCH -ARG VERSION=8.0.2 +ARG VERSION=7.4.1 RUN yum -y update; \ - yum -y install findutils git wget gcc make glibc-devel openssl-devel ca-certificates shadow-utils; \ + 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; \ - git clone --recursive -b 8.0.2 --depth 1 https://github.com/redis/redis.git /redis; \ + 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; \ @@ -26,13 +28,7 @@ RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/downloa sed -ri 's!cd jemalloc && ./configure !&'"$extraJemallocConfigureFlags"' !' /redis/deps/Makefile; \ grep -F "cd jemalloc && ./configure $extraJemallocConfigureFlags " /redis/deps/Makefile; \ export BUILD_TLS=yes; \ - cd /redis/deps/jemalloc; \ - sed -i 's/LDFLAGS = /LDFLAGS = -lpthread /' Makefile; \ - make distclean; \ - ./configure $extraJemallocConfigureFlags; \ - make -j && make install; \ - cd /redis; \ - sed -i 's/LIBS = /LIBS = -lpthread /' /redis/src/Makefile; \ + make -C /redis/deps/fast_float; \ make -C /redis -j "$(nproc)" all MALLOC=libc; \ make -C /redis install -- Gitee