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或选用匹配的低版本镜像,特权模式仅作为临时规避手段。希望这些经验能为大家节省排查时间!
相关推荐
Lumistory6 分钟前
从OPPO长安研发中心看头部科技企业的照明运维选择
大数据·运维·人工智能·光照贴图
好评12435 分钟前
【Linux】数据链路层
linux·运维·网络
新时代牛马2 小时前
Linux 信号处理完整篇:从sigaction、掩码到内核发送与可重入排障
linux·运维·信号处理
lpfasd1232 小时前
Docker存储清理与防膨胀实践
运维·docker·容器
每天被AI救一次2 小时前
WorkBuddy 会议自动化实战:从腾讯会议转写到待办系统的完整链路(附全套提示词)
运维·自动化·腾讯会议
程序员梅雨2 小时前
Linux & Shell 实用干货
linux·运维·服务器·后端·面试·php
吴声子夜歌2 小时前
编写Shell脚本——自顶向下设计
linux·运维·shell
XR1234567882 小时前
医院无线整网高密覆盖选型深度解析
运维·网络
新时代牛马2 小时前
嵌入式 Linux 蓝牙框架完整篇:从 HCI、L2CAP 到BlueZ 用户态
linux·运维·服务器
weixin_444579303 小时前
Docker(下):镜像仓库管理
运维·docker·容器