线上项目-升级redis8.0.3遇到的错
前提:docker安装的redis
使用docker18安装redis.8.0.3不报错,使用docker23安装redis.8.0.3报错
1.Docker启动 Redis提示:Can't initialize Background Jobg
详细报错:
redis6.2.6版本升级到8.0.3 报FATAL:Can't initialize Background Jobg.Error message:Operation not permitted
Notice:unknow file appendonly.aof found in data dir .permissions will not be modified use skip_fix_perms=1 to skip permission changes....
猜测产生原因:宿主机安装的docker版本同镜像所需的版本不匹配
解决方案:
方案1、升级docker,将docker版本升级到最新版本,例如:我原本使用docker v19,启动redis:6.0.20就失败,升级到 docker v26.1.1后,再启动redis:6.0.20就成功;
方案2、使用低版本的镜像来创建容器,例如:我启动用的是:redis:6.0.20,启动一直失败,改成:redis:5.0.9,就直接启动成功
方案3、低版本 docker v19 启动redis:6.0.20时,加上配置 --privileged=true 再启动.
2.我采用的是方案3,又报了个新的错
报错信息:failed to create shim task: OCI runtime create failed: container_linux.go:318: starting container process caused "permission denied": unknown
可能是runc
版本过低所致
查看当前版本号:runc -v
whereis runc
,发现存在2个,把系统自带的/usr/local/bin/runc
删除就好了