Failed to run the latest Redis: 6.0 using Docker

docker log: 1:C 29 Jun 2023 08:58:09.984 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:C 29 Jun 2023 08:58:09.984 # Redis version=6.2.12, bits=64, commit=00000000, modified=0, pid=1, just started 1:C 29 Jun 2023 08:58:09.984 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 1:M 29 Jun 2023 08:58:09.984 * monotonic clock: POSIX clock_gettime 1:M 29 Jun 2023 08:58:09.984 * Running mode=standalone, port=6379. 1:M 29 Jun 2023 08:58:09.984 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 1:M 29 Jun 2023 08:58:09.984 # Server initialized 1:M 29 Jun 2023 08:58:09.984 # Fatal: Can't initialize Background Jobs.


Then I can successfully run Redis using an old image from 6 months ago


Docker Engine Version:20.10.8 System:Linux node1 4.18.0-497.el8.x86_64 #1 SMP Sat Jun 10 12:24:53 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Comment From: sundb

Could you apply the patch #https://github.com/redis/redis/pull/12333 to display the failed reason?

Comment From: chrisinmtown

I see this problem on a RHEL 8.5 host running Docker version 20.10.8, build 3967b7d in Redis docker image version 6.2.12. As a workaround I fell back to version 6.2.11. In both cases just using images pulled from https://hub.docker.com/_/redis

Now a SWAG: is this possibly caused by a version mismatch - new-new container on an old engine? Maybe the 6.2.12 version was built on a Debian bookworm base image with the new glibc that is not supported/permitted in old docker engines?

Comment From: drtk712

Could you apply the patch ##12333 to display the failed reason?

How to apply this patch.

Comment From: sundb

@chrisinmtown @drtk712 Can you specify the operate system and docer version you are using?

Comment From: drtk712

@sundb Redis docker redis:6.0 run error: Fatal: Can't initialize Background Jobs. Redis docker redis:6.0 run error: Fatal: Can't initialize Background Jobs.

Comment From: sundb

@drtk712 Can you give the output of systemctl cat docker and `ulimit -a'.

Comment From: 631086083

what about add index of bio in serverLog in the future, better to help us locate is a thread initialization failed

Comment From: sundb

@631086083 the failed reason was already added by #12333, but it hasn't been released.

Comment From: drtk712

@sundb Redis docker redis:6.0 run error: Fatal: Can't initialize Background Jobs. Redis docker redis:6.0 run error: Fatal: Can't initialize Background Jobs.

Comment From: 631086083

@631086083 the failed reason was already added by #12333, but it hasn't been released.

That is great 。 And there are three types of bio threads, possible growth in the future, what about add the bio index info into serverlog and find out more, so we can solve the problem better.

Comment From: chrisinmtown

I see that the redis version 6.2.12 was upgraded to Debian bookworm about 3 weeks ago. Hey redis project build/CI people, is there any way you might consider falling back to a Debian bullseye base image instead of a bookworm base image?

Comment From: aogg

+1 vm in hyper-v

Comment From: SongMingzhe

I had the similar issue on redis:6.2.13 I changed to redis:7.0.10 and this version works, don't know why

Comment From: StreetStrider

@SongMingzhe I used redis alpine (with the same magic vibes as you)

Comment From: guss77

I had the similar issue on redis:6.2.13 I changed to redis:7.0.10 and this version works, don't know why

Same here - I tried various 7.x and 6.x versions (latest 7.0, latest 6.0, specific 6.2 versions) and eventually I tried 7.0.10 and it worked.

Comment From: luckyhappycat

you need to upgrade your docker version

Comment From: jonasbrenig

you need to upgrade your docker version

Solved it for me, Thank you!