diff --git a/redis/8.0-m04-int/22.03-lts-sp1/Dockerfile b/redis/8.0-m04-int/22.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ad026ec688823b0cf26a900628f31c7d0d5f9ea2 --- /dev/null +++ b/redis/8.0-m04-int/22.03-lts-sp1/Dockerfile @@ -0,0 +1,56 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp1 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=8.0-m04-int + +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/8.0-m04-int/22.03-lts-sp1/entrypoint.sh b/redis/8.0-m04-int/22.03-lts-sp1/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..16ecb3e84c57b1664f1d7de211d62d0bed1370e3 --- /dev/null +++ b/redis/8.0-m04-int/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/8.0-m04-int/22.03-lts-sp3/Dockerfile b/redis/8.0-m04-int/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..2e82c0689fc471b08ccbc984755b1e73eed32aa2 --- /dev/null +++ b/redis/8.0-m04-int/22.03-lts-sp3/Dockerfile @@ -0,0 +1,56 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=8.0-m04-int + +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/8.0-m04-int/22.03-lts-sp3/entrypoint.sh b/redis/8.0-m04-int/22.03-lts-sp3/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..16ecb3e84c57b1664f1d7de211d62d0bed1370e3 --- /dev/null +++ b/redis/8.0-m04-int/22.03-lts-sp3/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/8.0-m04-int/22.03-lts-sp4/Dockerfile b/redis/8.0-m04-int/22.03-lts-sp4/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..0237751e849e4e596489c86f45156825a1b36bd6 --- /dev/null +++ b/redis/8.0-m04-int/22.03-lts-sp4/Dockerfile @@ -0,0 +1,56 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp4 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=8.0-m04-int + +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/8.0-m04-int/22.03-lts-sp4/entrypoint.sh b/redis/8.0-m04-int/22.03-lts-sp4/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..16ecb3e84c57b1664f1d7de211d62d0bed1370e3 --- /dev/null +++ b/redis/8.0-m04-int/22.03-lts-sp4/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/8.0-m04-int/24.03-lts/Dockerfile b/redis/8.0-m04-int/24.03-lts/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..67cbcb533f594bb97a9bf5370a979a15a6b4b3b3 --- /dev/null +++ b/redis/8.0-m04-int/24.03-lts/Dockerfile @@ -0,0 +1,56 @@ +ARG BASE=openeuler/openeuler:24.03-lts +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=8.0-m04-int + +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/8.0-m04-int/24.03-lts/entrypoint.sh b/redis/8.0-m04-int/24.03-lts/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..16ecb3e84c57b1664f1d7de211d62d0bed1370e3 --- /dev/null +++ b/redis/8.0-m04-int/24.03-lts/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 f566b804ed0b7b9422f68c7a45b6db888f858f33..2560a88b037200e6bf3c21a8ddf1d719e58ee6da 100644 --- a/redis/meta.yml +++ b/redis/meta.yml @@ -13,4 +13,12 @@ 7.4.1-oe2203sp4: path: redis/7.4.1/22.03-lts-sp4/Dockerfile 7.4.1-oe2403lts: - path: redis/7.4.1/24.03-lts/Dockerfile \ No newline at end of file + path: redis/7.4.1/24.03-lts/Dockerfile +8.0-m04-int-oe2403lts: + path: redis/8.0-m04-int/24.03-lts/Dockerfile +8.0-m04-int-oe2203sp3: + path: redis/8.0-m04-int/22.03-lts-sp3/Dockerfile +8.0-m04-int-oe2203sp4: + path: redis/8.0-m04-int/22.03-lts-sp4/Dockerfile +8.0-m04-int-oe2203sp1: + path: redis/8.0-m04-int/22.03-lts-sp1/Dockerfile \ No newline at end of file