diff --git a/redis/9.0.4/22.03-lts/Dockerfile b/redis/9.0.4/22.03-lts/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..48dfaa2a4d25ac50506b69a831445a1ee7a1d12c --- /dev/null +++ b/redis/9.0.4/22.03-lts/Dockerfile @@ -0,0 +1,24 @@ +FROM openeuler/openeuler:22.03-lts +MAINTAINER heguofeng +RUN yum -y update && \ + yum -y install sudo util-linux findutils redis6 && \ + yum clean all + +RUN mkdir /data && chown redis:redis /data +VOLUME /data +WORKDIR /data + +ENV REDIS_VERSION 9.0.4 +ENV GOSU_VERSION 1.12 + +COPY gosu-amd64 /usr/local/bin/gosu_amd64 +COPY gosu-arm64 /usr/local/bin/gosu_arm64 +COPY entrypoint.sh /usr/local/bin/ +RUN chmod 755 /usr/local/bin/entrypoint.sh && \ + chmod 755 /usr/local/bin/gosu_amd64 && \ + chmod 755 /usr/local/bin/gosu_arm64 + +ENTRYPOINT ["entrypoint.sh"] + +EXPOSE 6379 +CMD ["redis-server"] diff --git a/redis/9.0.4/22.03-lts/entrypoint.sh b/redis/9.0.4/22.03-lts/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..4f4c37feda034a46b7d1d04ec06a10f499c82e5a --- /dev/null +++ b/redis/9.0.4/22.03-lts/entrypoint.sh @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +arch=$(case $(uname -m) in i386) echo "386" ;; i686) echo "386" ;; x86_64) echo "amd64";; aarch64)echo "arm64";; esac) +if [ "${arch}" = "amd64" ]; then + GOSU_EXEC=/usr/local/bin/gosu_amd64 +else + GOSU_EXEC=/usr/local/bin/gosu_arm64 +fi +if [ ! -f /usr/local/bin/gosu ]; then + ln -s ${GOSU_EXEC} /usr/local/bin/gosu +fi + +# 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 + +# set an appropriate umask (if one isn't set already) +# - https://github.com/docker-library/redis/issues/305 +# - https://github.com/redis/redis/blob/bb875603fb7ff3f9d19aad906bd45d7db98d9a39/utils/systemd-redis_server.service#L37 +um="$(umask)" +if [ "$um" = '0022' ]; then + umask 0077 +fi + +exec "$@" diff --git a/redis/9.0.4/22.03-lts/gosu-amd64 b/redis/9.0.4/22.03-lts/gosu-amd64 new file mode 100644 index 0000000000000000000000000000000000000000..834951f8910b8f4f88d626a05c9c0cdce527f967 Binary files /dev/null and b/redis/9.0.4/22.03-lts/gosu-amd64 differ diff --git a/redis/9.0.4/22.03-lts/gosu-arm64 b/redis/9.0.4/22.03-lts/gosu-arm64 new file mode 100644 index 0000000000000000000000000000000000000000..925e16ed1ff020e522c815ae4b6b8349634ef30a Binary files /dev/null and b/redis/9.0.4/22.03-lts/gosu-arm64 differ