redis 一直报错# Fatal: Can‘t initialize Background Jobs.

今天公司环境遇到个坑 redis容器一直反复报错

复制代码
1:C 16 Apr 2026 11:31:51.535 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:31:51.535 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:31:51.535 # Configuration loaded
1:M 16 Apr 2026 11:31:51.535 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:31:51.535 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:31:51.535 # Server initialized
1:M 16 Apr 2026 11:31:51.535 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:22.543 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:22.543 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:22.543 # Configuration loaded
1:M 16 Apr 2026 11:32:22.543 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:22.544 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:22.544 # Server initialized
1:M 16 Apr 2026 11:32:22.544 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:22.798 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:22.798 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:22.798 # Configuration loaded
1:M 16 Apr 2026 11:32:22.799 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:22.799 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:22.799 # Server initialized
1:M 16 Apr 2026 11:32:22.799 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:23.148 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:23.148 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:23.148 # Configuration loaded
1:M 16 Apr 2026 11:32:23.148 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:23.149 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:23.149 # Server initialized
1:M 16 Apr 2026 11:32:23.149 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:23.695 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:23.695 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:23.695 # Configuration loaded
1:M 16 Apr 2026 11:32:23.695 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:23.695 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:23.695 # Server initialized
1:M 16 Apr 2026 11:32:23.695 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:24.641 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:24.641 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:24.641 # Configuration loaded
1:M 16 Apr 2026 11:32:24.641 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:24.641 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:24.641 # Server initialized
1:M 16 Apr 2026 11:32:24.641 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:26.386 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:26.386 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:26.386 # Configuration loaded
1:M 16 Apr 2026 11:32:26.386 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:26.386 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:26.386 # Server initialized
1:M 16 Apr 2026 11:32:26.386 # Fatal: Can't initialize Background Jobs.
1:C 16 Apr 2026 11:32:29.731 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 16 Apr 2026 11:32:29.731 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 16 Apr 2026 11:32:29.731 # Configuration loaded
1:M 16 Apr 2026 11:32:29.731 * monotonic clock: POSIX clock_gettime
1:M 16 Apr 2026 11:32:29.732 * Running mode=standalone, port=6379.
1:M 16 Apr 2026 11:32:29.732 # Server initialized
1:M 16 Apr 2026 11:32:29.732 # Fatal: Can't initialize Background Jobs.

容器启动失败,日志中仅提示"Fatal: Can't initialize Background Jobs",没有其他详细错误信息。经过一番排查和试错,终于定位到问题根源,并总结出几种有效的解决方案,特此记录分享,希望能帮到有类似困扰的朋友。

问题根源

  • 宿主机Docker版本过低,与Redis镜像所需的运行时环境不兼容。

解决方案

升级Docker至较新版本

  • 将Docker升级到最新稳定版,可有效解决兼容性问题。例如,原环境为Docker 20,启动redis:6镜像失败;升级至Docker 28后,同一镜像可正常启动。
复制代码
  root@node3:/home/docker# docker -v
  Docker version 20.10.7, build f0df350
  root@node3:/home/docker#

使用低版本Redis镜像

  • 若无法升级Docker,可尝试使用较低版本的Redis镜像。例如,将镜像从redis:6更换为redis:5.0后,容器可顺利启动。

临时方案:添加特权模式

  • 在低版本Docker(如20)中启动高版本Redis镜像时,可通过添加--privileged=true参数临时解决权限问题。例如:
  • 原命令:docker run -d --name redis redis:6(失败)
  • 修改后:docker run -d --name redis --privileged=true redis:6(成功)
  • docker-compose 可以直接加上 privileged: true (成功)

总结

  • 该问题本质是Docker版本与镜像兼容性不匹配所致。推荐优先升级Docker或选用匹配的低版本镜像,特权模式仅作为临时规避手段。希望这些经验能为大家节省排查时间!
相关推荐
我不会起名字3228 分钟前
Redis 从 0 到 1(三十七·收官):36 篇浓缩成 1 张知识地图 + 50 项生产 Checklist
redis·go·知识体系·checklist·收官
2601_967987372 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
修己xj2 小时前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
小番茄程序猿3 小时前
Redis 编码压测 59 轮:HSET 快 23 倍是假象,SMEMBERS 慢 30 倍是真的
redis·后端
鶴哥只手遮天4 小时前
《Redis 8.10.3 深度剖析》系列 ·第 13 章 Set:三种编码、集合运算与随机采样
redis·后端·开源
xbzb7 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮7 小时前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
瑞克-桑切斯7 小时前
redis
数据库·redis·缓存
瑞克-桑切斯8 小时前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
花间相见9 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端