sha256:344e3945a0b431c8ff1eecd58c5573538126bd756f02fc7e218ddf1fc2546366
OS/ARCH
Compressed size
40.45 MB
Last pushed
5 days by doijanky
Type
Image
Manifest digest
sha256:97b2eee522de7e060f2e9aa71536eb97831315c885e8823baafba54f866ea6de
1
RUN /bin/sh -c set -eux; groupadd -r -g 999 redis; useradd -r -g redis -u 999 redis # buildkit
1.1 KB
2
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
831 B
3
ENV REDIS_VERSION=8.10.0
0 B
4
ARG REDIS_DOWNLOAD_URL=https://github.com/redis/redis/releases/download/8.10.0/redis-full.tar.gz
0 B
5
ARG REDIS_DOWNLOAD_SHA=021973d690498682372505c8c0da934e010eb5ae7db9438dcf5a6d78a9e6a5b8
0 B
6
RUN |2 REDIS_DOWNLOAD_URL=https://github.com/redis/redis/releases/download/8.10.0/redis-full.tar.gz REDIS_DOWNLOAD_SHA=021973d690498682372505c8c0da934e010eb5ae7db9438dcf5a6d78a9e6a5b8 /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates wget dpkg-dev gcc g++ libc6-dev libssl-dev libsystemd-dev pkg-config make; arch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; case "$arch" in 'amd64' | 'arm64') BUILD_WITH_MODULES=yes ;; *) echo >&2 "Modules are NOT supported! unsupported architecture: '$arch'"; BUILD_WITH_MODULES=no ;; esac; if [ "$BUILD_WITH_MODULES" = "yes" ]; then echo 'deb http://deb.debian.org/debian trixie-backports main' > /etc/apt/sources.list.d/backports.list; apt-get update; apt-get install -y --no-install-recommends git cmake python3 python3-pip python3-venv python3-dev unzip rsync automake autoconf libtool g++; apt-get install -y --no-install-recommends clang-21 lld-21 llvm-21; export PATH="/usr/lib/llvm-21/bin:$PATH"; fi; rm -f /etc/apt/sources.list.d/backports.list; rm -rf /var/lib/apt/lists/*; wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; echo "$REDIS_DOWNLOAD_SHA *redis.tar.gz" | sha256sum -c -; mkdir -p /usr/src/redis; tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1; rm redis.tar.gz; grep -E '^ *createBoolConfig[(]"protected-mode",.*, *1 *,.*[)],$' /usr/src/redis/src/config.c; sed -ri 's!^( *createBoolConfig[(]"protected-mode",.*, *)1( *,.*[)],)$!\10\2!' /usr/src/redis/src/config.c; grep -E '^ *createBoolConfig[(]"protected-mode",.*, *0 *,.*[)],$' /usr/src/redis/src/config.c; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; extraJemallocConfigureFlags="--build=$gnuArch"; case "${arch##*-}" in amd64 | i386 | x32) extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-page=12" ;; *) extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-page=16" ;; esac; extraJemallocConfigureFlags="$extraJemallocConfigureFlags --with-lg-hugepage=21"; grep -F 'cd jemalloc && ./configure ' /usr/src/redis/deps/Makefile; sed -ri 's!cd jemalloc && ./configure !&'"$extraJemallocConfigureFlags"' !' /usr/src/redis/deps/Makefile; grep -F "cd jemalloc && ./configure $extraJemallocConfigureFlags " /usr/src/redis/deps/Makefile; export BUILD_TLS=yes; if [ "$BUILD_WITH_MODULES" = "yes" ]; then export LTO=1; make -C /usr/src/redis/modules install-rust INSTALL_RUST_TOOLCHAIN=yes; make -C /usr/src/redis -j "$(nproc)" deploy; make -C /usr/src/redis/modules uninstall-rust INSTALL_RUST_TOOLCHAIN=yes; else make -C /usr/src/redis -j "$(nproc)" deploy redis; fi; rm -r /usr/src/redis; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/cache/debconf/*; redis-cli --version; redis-server --version # buildkit
14.45 MB
7
RUN |2 REDIS_DOWNLOAD_URL=https://github.com/redis/redis/releases/download/8.10.0/redis-full.tar.gz REDIS_DOWNLOAD_SHA=021973d690498682372505c8c0da934e010eb5ae7db9438dcf5a6d78a9e6a5b8 /bin/sh -c mkdir /data && chown redis:redis /data # buildkit
96 B
8
WORKDIR /data
32 B
9
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2.11 KB
10
ENTRYPOINT ["docker-entrypoint.sh"]
0 B
11
EXPOSE map[6379/tcp:{}]
0 B
12
CMD ["redis-server"]
0 B