Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker容器中持久化redis数据时权限被拒绝的问题_Docker_Redis_Docker Compose_Docker Volume - Fatal编程技术网

在docker容器中持久化redis数据时权限被拒绝的问题

在docker容器中持久化redis数据时权限被拒绝的问题,docker,redis,docker-compose,docker-volume,Docker,Redis,Docker Compose,Docker Volume,我想创建一个redis容器,需要将容器中的rdp和日志文件装载到主机上。我有一个docker撰写文件,如下所示 version: '2' services: redis: image: xxxx/redis container_name: redis restart: unless-stopped volumes: - /redis/data:/var/lib/redis - /redis/log:/var/log/redis

我想创建一个redis容器,需要将容器中的rdp和日志文件装载到主机上。我有一个docker撰写文件,如下所示

version: '2'
services:
  redis:
    image: xxxx/redis
    container_name: redis
    restart: unless-stopped
    volumes:
       - /redis/data:/var/lib/redis
       - /redis/log:/var/log/redis
    ports:
      - "6379:6379"
如果它如上所述装载卷,则redis不会在容器内运行,有时由于权限被拒绝错误而无法保存rdb文件。如果我创建了一个没有卷装载的容器,那么一切都正常

在做了一些搜索之后,我发现redis中/var/lib/redis和/var/log/redis文件夹的权限是redis:redis,但主机中装载的卷的权限是root:root。我无法更改主机中作为redis的权限,因为redis用户将不可用。如果我在容器内将权限更改为root:root,则不会保存rdp文件

有人能建议如何解决这个问题吗