docker挂载redis配置文件出错,请问有什么解决方式?

我在虚拟机内的Ubuntu上用docker运行redis,参考别人的思路,我创建了一个redis目录,包含一个data目录和一个redis.conf配置文件,如图:
图片描述

并且我也将redis.conf文件中的bind 127.0.0.1 和 daemonize no 这两行注释掉了
图片描述

图片描述

但是当我要运行redis,并挂载该配置文件时却遇到了报错:
图片描述

运行命令:docker run --name myredis01 -v /redis/redis.conf:/etc/redis/redis.conf -v /redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes

报错:Fatal error, can't open config file '/etc/redis/redis.conf'
百度也没找到合适的解决办法,所以在此一问。
我这里没有加-d的原因是:加了-d之后,只返回了容器ID,但是使用docker ps查询却时没有正在运行的容器。

另外就是我同样的步骤,在我的阿里云服务器上确实能挂载成功。都是Ubuntu16.04,但是同样的操作却又不同的结果,这个也是我很好奇地地方。

阅读 7.3k
2 个回答

看一下你的配置文件的权限,是否是不可读的?

# 查看下未运行的容器,找到对应的容器id
sudo docker ps -a 
# 尝试重启该容器
sudo docker start container_id
# 查看容器是否重启成功
sudo docker ps 
推荐问题