Can‘t open the append-only file: permission deined

1、前言

最近,基于docker搭建redis集群环境,执行run命令时,没有成功创建docker容器。通过docker logs,发现如下错误信息
在这里插入图片描述

2、问题原因

Redis进行aof持久化时,会创建appendonly.aof文件,当该文件不能以写的方式打开时,就会报上述错误信息。那么,该文件创建后,为什么不能以写的方式打开呢?
通过查看挂载目录的权限后,发现除了root用户外,没有写权限
在这里插入图片描述

3、解决方式

通过chmod方式,给挂载文件夹,增加写权限,然后,再次执行docker run命令,即可成功创建docker 容器。

在这里插入图片描述

4、相关配置

在配置redis.conf配置文件时,顺手把appendonly属性设置成了yes,然后开启了aof持久化。当然,如果不开启持久化,上述问题,估计也就不存在。
针对于redis.conf,主要修改的配置项为

bind 0.0.0.0
port 8001
daemonize no
protected-mode no
appendonly yes
dir /etc/redis/data/8001/

docker run命令为:

docker run --name redis_8001 -p 8051:8001 -v /home/docker-infoes/redis-basic/redis-cluster/8001/redis-conf/redis.conf:/etc/redis/conf/redis.conf -v /home/docker-infoes/redis-basic/redis-cluster/8001/redis-data:/etc/redis/data/8001/:rw -d redis redis-server /etc/redis/conf/redis.conf

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐