Docker Redis从使用-v的持久性存储开始会给出错误(提示:更改“。”的所有权:拒绝权限)

时间:2019-05-06 08:23:40

标签: linux docker redis dockerfile redhat

我正在使用默认的docker-redis使用以下系统版本/规格进行redis.conf设置。

Redhat version: 7.6 (Red Hat Enterprise Linux Server)
Redis Version: 5.0.4
Docker Version:  1.13.1, build b2f74b2/1.13.1

当我运行以下命令时,它运行正常。

sudo docker run -d -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf --name redis-persistance --net tyk -p 7070:6379 redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

我需要将redis数据(位于容器内的/ data中)获取到主机目录 (/ usr / local / etc / redis / data)< strong>(-v $ PWD /数据:/数据)。因此,当我运行以下命令时,出现以下错误。 注意$ PWD = / usr / local / etc / redis /

sudo docker run -d -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name redis-persistance --net tyk -p 7070:6379 redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

泊坞窗日志中的错误:

journal: chown: changing ownership of '.': Permission denied
level=warning msg="05ce842f052e28566aed0e2eab32281138462cead771033790266ae145fce116 cleanup: failed to unmount secrets: invalid argument"

我也尝试将主机中 data 文件夹的所有权也更改为以下所有权。 chown redis:redis数据

drwxrwxrwx. 2 redis redis     6 May  3 07:11 data

有人可以帮我这个忙吗?谢谢。

1 个答案:

答案 0 :(得分:2)

首先创建一个卷:

docker volume create redis_data

检查卷是否已创建(请注意安装点):

docker volume inspect redis_data

然后使用该卷启动您的容器:

sudo docker run -d -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf -v redis_data:/data --name redis-persistance --net tyk -p 7070:6379 redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

然后您可以检查应该为Redis数据的“ Mountpoint”的内容。