当在docker容器中持久redis数据时,权限被拒绝

时间:2017-07-21 13:15:37

标签: docker redis docker-compose docker-volume

我想创建一个redis容器,需要将容器内的rdp和log文件挂载到主机。我有一个docker-compose文件,如下所示,

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 in container,则不会保存rdp文件。

任何人都可以建议如何解决这个问题。?

0 个答案:

没有答案